2014-01-08 3 views
0

은 Node.js를 나는 다음과 달성하고자하는 :node.js에 공개 키와 개인 키를 만들어 데이터를 서명하려면 어떻게합니까? 사용

  • 는 사람이 읽을 수있는 강력한 무작위 공개/개인 키를 생성합니다.

  • 은 문자열 데이터, 공개 키와 서명을 받아 64 기수

  • 에 서명을 작성하고 서명이 개인 키의 소유자에 의해 만들어 졌는지 확인하는 문자열 데이터와 개인 키를 가져 가라.

    var crypto = require('crypto'); 
    var message = "This is a string I want to ensure is not tampered with."; 
    var sign = crypto.createSign("RSA-SHA256"); 
    sign.update(message); 
    var signature = sign.sign("thisiswhereiassumetheprivatekeywillgo", "base64"); 
    
    console.log(message); 
    console.log(signature); 
    

    하지만 콘솔 출력 만 메시지가 표시는 서명 빈 반환

지금까지 나는 다음과 같은 가지고있다.

도움을 주시면 감사하겠습니다.

답변

1

모든 최신 암호는 일반적으로 바이트로 표시되는 이진 데이터로 작동합니다. 많은 스크립팅 언어가 바이트와 문자 사이의 매직 변환을 수행하지만, 바이트 배열은 일반적으로 인쇄 가능한 문자 만 포함하는 것이 아닙니다.

바이트를 사람이 읽을 수있는 형식으로 변환하려면 의 형식을 적용해야합니다. 디버깅을 위해서는 16 진수 (16 진수)로 변환하는 것이 가장 좋습니다. 효율성을 위해 기본 64 인코딩을 사용할 수도 있습니다. 두 인코딩은 모두 RFC4648으로 지정됩니다.

관련 문제