SHA1을 사용하여 해시 된 문자열이 있습니다. 나는이 문자열을 문자열과 같은 암호로 변환하고 싶습니다. 약 8 자의 문자를 위, 아래 문자 및 특수 문자로 의미합니다.해시 문자열을 문자열과 같은 암호로 변환하십시오.
답변
base-85을 사용하여 해시의 마지막 8 바이트를 10 개의 ASCII 문자로 인코딩 할 수 있습니다.
원래 해시 된 문자 시퀀스 (예 : 단어 또는 구 또는 일반적으로 사용되는 암호)를 예측할 수있는 경우 10 자 문자열에서 매우 쉽게 추측 할 수 있습니다. 원래 문자열이 무작위로 생성 되더라도 동일한 잘린 해시를 생성하는 다른 문자열을 찾는 것은 비교적 쉽습니다.
즉,이 기술을 보안이 필요한 항목에 사용하면 안됩니다.
인간이 결과 [Base58] (https://en.wikipedia.org/wiki/Base58)를 입력하는 것이 더 나은 해결책 인 경우, 다음과 유사한 모양의 글자는 생략됩니다 : 0 (영자), O (대문자 O), I (대문자 I) 및 I (소문자 L)와 영숫자가 아닌 문자 + (더하기) 및/(슬래시)가 포함됩니다. Base85는., -, :, +, =, ^,!, /, *,?, &, <, >, (,), [], {,}, @ 등의 일반 컴퓨터 사용자에게는 훨씬 혼란스러운 문자가 있습니다. , %, $, #. – zaph
"은 상위 8 자, 하위 8 자, ** 및 특수 문자 **를 의미합니다." – erickson
대문자 i와 소문자 L 인 빠른 "Il"? Base85는 사람들이 들어갈 수있는 것이 아니며, Base58은이고 is입니다. 하지만 다시 OP는 인간의 입장에서 등장 인물을 사용하지 않을 것입니다. – zaph
- 1. 파일을 이진 문자열과 이진 파일로 변환하십시오.
- 2. 해시 된 암호로 양식 보내기
- 3. 문자열을 암호로 변환
- 4. JavaScript의 큰 문자열과 해시 비교
- 5. 문자열을 사용하여 문자열을 __uint128_t로 변환하십시오.
- 6. WPF : 문자열을 System.Windows.Visibility로 변환하십시오.
- 7. 문자열을 int로 변환하십시오.
- 8. 문자열을 double로 변환하십시오.
- 9. 정보를 잃지 않고 배열을 문자열과 문자열로 변환하십시오.
- 10. 배열 문자열을 문자열과 비교하십시오.
- 11. 기본 색인을 해시 mongodb로 변환하십시오.
- 12. 문자열을 문자열과 비교하기 PHP
- 13. 문자열을 C#의 xml로 변환하십시오.
- 14. 해시 된 암호로 MySQL에 연결 하시겠습니까?
- 15. NSDictionary 문자열을 NSDictionary로 변환하십시오.
- 16. 날짜 문자열을 NSDate로 변환하십시오.
- 17. 문자열을 TitleWindow 클래스로 변환하십시오.
- 18. 문자열을 int 배열로 변환하십시오.
- 19. 문자열을 16 진수로 변환하십시오.
- 20. 문자열을 CLLocationCoordinate로 변환하십시오.
- 21. 매크로 문자열을 SAS로 변환하십시오.
- 22. 문자열을 십진수 형식으로 변환하십시오.
- 23. 숫자 문자열을 sqldbtype로 변환하십시오.
- 24. 문자열을 double로 변환하십시오.
- 25. html 문자열을 prawnto로 변환하십시오.
- 26. 루비에서 문자열을 십진수로 변환하십시오.
- 27. CLLocationCoordinate2D의 문자열을 배열로 변환하십시오.
- 28. 문자열을 DataColumn의 guid로 변환하십시오.
- 29. 문자열을 "LuaFunction"유형으로 변환하십시오.
- 30. 문자열을 다른 유형으로 변환하십시오.
SHA-1 해시 함수의 출력 크기는 160 비트입니다. 8 자의 암호는 48-64 비트 엔트로피 사이에 있습니다. 해시를 "암호"로 어떻게 줄일 계획입니까? 왜 이걸하고 싶어? 이게 가역적일까요? 달성하려는 것을 이해하고 도움을주는 이유를 이해해야합니다. –
Base64는 처음 6 개의 SHA1 바이트를 인코딩합니다. 그러나 사용법에 따라 이것은 끔찍하게 불안정 할 수 있습니다. – zaph
보안/인코딩에 관한 문제이기 때문에이 질문을 주제와 관련이 없으므로 security.SE 사이트에서 더 자세히 질문하십시오. –