2011-06-30 28 views

Trả lời

3

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.

+1

Để 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. –

2

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]

6

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 ASCII.

Các vấn đề liên quan