128 비트 숫자를 저장하는 16 바이트가있는 경우 문제가되지 않습니다. 128 비트 값을 16 바이트 값을 16 진수로 저장 한 32 자 문자열 대신 16 바이트 값으로 저장하십시오.
MD5 해시를 저장하기 위해 데이터베이스에서 GUID/UUID 필드를 사용했습니다. 더 이상 안전한 암호화하는 동안, 128 비트 MD5 해시는 체크섬을 위해 괜찮 (64 비트보다 훨씬 낫다.) 내가 파일 내용을 표시하지 않습니다
var result = MD5.Create().ComputeHash(new byte[] { 0 });
Console.WriteLine(result.Length);
Console.WriteLine(Convert.ToBase64String(result));
Console.WriteLine(result.Aggregate(new StringBuilder(),
(sb, v) => sb.Append(v.ToString("x2"))));
//16
//k7iFrf4NoInN9jSQT9WfcQ==
//93b885adfe0da089cdf634904fd59f71
File.WriteAllBytes("tempfile.dat", result);
var input = File.ReadAllBytes("tempfile.dat");
Console.WriteLine(input.Length);
Console.WriteLine(Convert.ToBase64String(input));
Console.WriteLine(input.Aggregate(new StringBuilder(),
(sb, v) => sb.Append(v.ToString("x2"))));
//16
//k7iFrf4NoInN9jSQT9WfcQ==
//93b885adfe0da089cdf634904fd59f71
참고가 포함됩니다 좋은 기회가 있기 때문에 "인쇄 할 수없는"문자.
16 무엇입니까? 바이너리 또는 텍스트입니까? –
플랫 파일에 기록되므로 이상적으로 텍스트입니다. – Matt
플랫 파일은 텍스트 일 필요는 없습니다. –