데이터베이스의 md5 해시 열에 인덱스를 넣어야합니다. md5 열에 대한 검색을 수행 할 것입니다. CHAR (32)로 해시를 저장하려고했지만 이진 열 옵션도 보았습니다. md5 해시를 저장하면 이진 열 또는 char (32)에서 더 잘 작동합니까? Linq to Entities를 사용하여 이진 열을 쿼리 할 수 있습니까? 그렇다면 어떻게해야합니까?Linq : 데이터베이스에 MD5 해시 열을 저장하는 방법
답변
SQL Server 나 128 비트 GUID 유형을 지원하는 다른 서버를 사용하는 경우 GUID 유형을 사용하여 MD5 값을 나타낼 수 있습니다.
MD5는 16 바이트 (128 비트)이므로 쉽게 GUID로 변환 할 수 있습니다. C#에서 그렇게하기 위해 Guid 구조체를 사용하거나 손으로 간단한 변환 루틴을 작성할 수 있습니다.
guids의 형식은 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx입니다. 여기서 x는 16 진수 문자이지만 128 비트 정수로 내부적으로 저장되므로 공간이 거의 차지하지 않으며 매우 빠릅니다. 쿼리!
GUIDS는 char 또는 binary보다 훨씬 잘 작동하며 고정 된 크기이며 매우 빠른 속도와 낮은 공간 사용으로 더 많은 비트가 필요할 때 INT 대신 키 \ 인덱스로 사용됩니다.
색인 생성이 동일한 경우 선택한 유형에 상관없이 저장 용량에 차이가 있습니다. 이진 타입은 아마도 작을 것이고, char 타입은 값을 정수로 인코딩 할 것입니다. 정말로 그 날이 끝날 때면 나는 이진을 더 용서 할 것이기 때문에 char를 사용할 것입니다. 따라서 이들 중 수백만 개를 저장하지 않으면 큰 차이를 내지 않을 것입니다.
LINQ에 관해서는 확실하지 않지만 실제로 할 수있을 것이라고 확신합니다. 필드 대신 필드가 될 것입니다. 그건 내가 숯불 가고, 린크 쉽게 다루는 다른 이유입니다.
정말 코드에서 해시를 나타내는 방법에 따라 다릅니다. 바이트 배열이면 이진 DB 유형을 사용하십시오. 문자열 인 경우이를 사용하십시오. 어느 쪽이든, 어떤 레벨의 모든 바이너리 데이터입니다. 컴퓨터에 데이터를 표시 할 때 해석하는 방법입니다.
- 1. SQL Server에 MD5 해시 저장
- 2. MD5 해시 크기 생성
- 3. 더비 데이터베이스에 해시 맵을 저장하는 방법
- 4. 데이터베이스에 해시 된 암호를 저장하는 방법
- 5. MD5 해시 혼란
- 6. 파일에서 MD5 해시 생성
- 7. MD5 해시 문제 (Java)
- 8. 해시의 md5 해시
- 9. SharePoint 파일 MD5 해시
- 10. MD5 해시 함수
- 11. MD5 해시 기능이 뛰어나다?
- 12. Qt로 MD5 해시 생성
- 13. Java MD5 해시, 어떻게해야합니까?
- 14. PingFederate - Salted MD5 해시 암호를 인증하는 방법?
- 15. 표현식 데이터 열을 데이터베이스에 저장하는 방법은 무엇입니까?
- 16. 인증 일반 텍스트 MD5 해시
- 17. SQL Server 데이터베이스에 datasrid 데이터 열을 저장하는 방법
- 18. 데이터베이스에 이미지를 저장하는 방법
- 19. 데이터베이스에 개체를 저장하는 방법
- 20. 데이터베이스에 질문을 저장하는 방법
- 21. 데이터를 데이터베이스에 저장하는 방법
- 22. 데이터베이스에 그림을 저장하는 방법
- 23. 안드로이드 데이터베이스에 저장하는 방법
- 24. 데이터베이스에 좌표를 저장하는 방법
- 25. 여러 파일의 MD5 해시 결합
- 26. URL에서 MD5 해시 가져 오기
- 27. 목표 C - Salt/MD5 해시?
- 28. Java와 php5의 차이점 MD5 해시
- 29. MD5 해시 및 파이썬에서 비교
- 30. MD5 해시 알고리즘 안쪽 여백
기술적으로, 바이트 배열을 헥사하는 대신, Base64 it ('Convert.ToBase64String (bytes)')과 24 바이트 문자열을 얻을 수 있습니다. – xanatos