은 현재 내가 OpenSSL을 통해이 작업을 수행 C#에서 SHA256와 개인 키 파일 가져 오기를 나는우리는 C를 사용하여 파일의 생성을 자동화 할,
openssl dgst -sha256 -sign privateKey.key -out file.txt.signature file.txt
이제 생성 된 파일에 아무 문제가 없었습니다 #하지만 같은 결과를 얻지 못했습니다.
public class Program
{
static void Main(string[] args)
{
Console.WriteLine(CreateToken("key...", "text"));
Console.ReadLine();
}
public static string CreateToken(string key, string message)
{
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] keyByte = encoding.GetBytes(key);
HMACSHA256 hmacsha256 = new HMACSHA256(keyByte);
byte[] messageBytes = encoding.GetBytes(message);
byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);
return System.Text.Encoding.UTF8.GetString(hashmessage);
}
}
나는 이걸로 일하는 것이 처음이다. 올바른 방법은 없을까?
정보를 제대로 검색하지 못합니까? 파일에서 직접 콘텐츠를 가져와야합니까?
대단히 감사합니다.
일반적으로 메시지를 해싱하는 것 이상을 수행합니다. 공격과 방어의 좋은, 친밀한 역사를 보려면 [RSA 서명과 Rabin-Williams 서명 : 최신 기술] (https://cr.yp.to/sigs/rwsota-20080131.pdf)을 참조하십시오. 섹션 5, * 해시 무작위 화 *, 당신에게 관심 있어야합니다. – jww