0
16 바이트를 자르지 않고 SHA256을 사용하여 문자열을 GUID로 변환 할 수 있습니까?문자열을 자르지 않고 SHA256을 사용하여 Guid로 변환
using SHA256 sha2 = SHA256.Create())
{
var hash = sha2.ComputeHash(Encoding.Default.GetBytes(string));
return new Guid(hash.Take(16).ToArray());
}
GUID를 * 16 바이트 *입니다. 나머지는 어떻게 맞추시겠습니까? –
SHA-256 알고리즘은 32 바이트 해시를 생성합니다. 'Guid'는 16 바이트입니다. 16 바이트 데이터 구조에는 32 바이트를 넣을 수 없습니다. 두 개의 guids로 변환 할 수 있습니다. –
왜? 'Guid'는 16 바이트입니다. 당신이 그것을 심고 새로운 것을 만드는 것과는 다릅니다. 'Guid' 문자열 생성자는 말 그대로'Guid'를 다른 형식으로 표현하고'Guid' 클래스의 인스턴스를 생성합니다. – McAden