Chuỗi đầu vào có thể là chuỗi unicode.Do chuỗi đầu ra sau khi tính toán SHA1 sẽ luôn trả về các ký tự ASCII?Chuỗi SHA1 có luôn trả về các ký tự ASCII không?
Trả lời
sha1 trả về chuỗi nhị phân. Một số hàm sha1 có thể, như một sự tiện lợi, cũng mã hóa chuỗi nhị phân đó thành hệ thập lục phân hoặc base64 - nếu vậy, kết quả sẽ là các ký tự ASCII. Nhưng bản thân sha1 không trả về ASCII.
SHA1 trả về 20 byte. SHA1 không đối phó với mã hóa, văn bản, ASCII vv
Một cách phổ biến để đại diện cho dữ liệu nhị phân là bằng cách mã hóa nó trong hệ thập lục phân - trong trường hợp này, đầu ra là luôn [af] [0-9]
Nó phụ thuộc nhưng nói đúng, không. Đầu ra của hàm băm SHA-1 là 160 bit hoặc 20 byte, nhưng các byte không được bảo đảm nằm trong phạm vi ASCII. Tuy nhiên, một số hàm băm xuất ra số thập phân tương đương (tức là 40 ký tự) của 20 byte, vì vậy nếu ba byte đầu tiên của giá trị băm thực là 0x7e, 0x03 và 0xb2, thì đầu ra sẽ bắt đầu bằng "7e03b2", trong trường hợp này, đầu ra là ASCII.
- 1. Có hàm nào trả về giá trị ASCII của ký tự không? (C++)
- 2. Cách trả về một chuỗi ký tự từ một hàm
- 3. Ký tự ẩn - ASCII
- 4. Bình thường hóa các ký tự ASCII
- 5. chr cho các ký tự không phải ASCII trong Python
- 6. Các ký tự Unicode và Ascii có giống nhau không?
- 7. Python regex để chuyển đổi các ký tự không phải ascii thành chuỗi gần nhất ascii tương đương
- 8. GetType(). ToString() Trả về các ký tự không mong muốn
- 9. Bash: Chuyển đổi các ký tự không phải ASCII thành ASCII
- 10. UnicodeEncodeError: codec 'ascii' không thể mã hóa các ký tự
- 11. Angular js - Trả về một chuỗi có các ký tự HTML như
- 12. Trả về sha1() băm từ couchdb
- 13. Chuyển đổi các ký tự có dấu trọng âm thành ký tự ascii
- 14. Trả về các ký tự đầu tiên của một chuỗi unicode
- 15. tại sao cout.tellp luôn trả về -1?
- 16. Chuyển đổi các ký tự không phải ASCII từ ASCII-8BIT sang UTF-8
- 17. Nhập các ký tự không phải ASCII vào scanf ("% s")
- 18. Các ký tự không phải ASCII trong C
- 19. Các ký tự không phải ascii trong URL
- 20. Cố gắng xóa các ký tự không phải ASCII chỉ
- 21. Các ký tự không phải ASCII trong Matplotlib
- 22. ExecuteNonQuery() trả về -1 luôn luôn
- 23. UnicodeEncodeError: codec 'ascii' không thể mã hóa ký tự [...]
- 24. sd.canWrite() luôn trả về false
- 25. Số NSMutableArray luôn trả về số không
- 26. Xóa tất cả các ký tự không phải ASCII khỏi chuỗi
- 27. Làm cách nào để phát hiện các ký tự không phải ASCII trong chuỗi?
- 28. POSIX regex có cung cấp các ký tự unicode hoặc về cơ bản không phải là ascii không?
- 29. Tôi có cần web.config cho các ký tự không phải ASCII không?
- 30. Thuật toán MessageDigest SHA1 của Java trả về kết quả khác với hàm SHA1 của hàm php
Để giải thích về điều này, SHA1 trả về một số (lớn). Một số chọn đại diện cho số đó như một chuỗi ký tự thập lục phân. Tuy nhiên, nếu bạn gọi tới một thư viện có hàm SHA1, không nhất thiết phải mong đợi nó sẽ trả lại chuỗi ASCII cho bạn. Luôn RTFM. –