Các sha1 hash của "abc" làbăm mật mã (sha1 hoặc md5) của dữ liệu được coi là một chuỗi trong Mathematica
a9993e364706816aba3e25717850c26c9cd0d89d
Cách duy nhất để có được Mathematica để cho bạn biết rằng với chức năng Hash
của nó là
Hash[abc, "SHA"] // IntegerString[#, 16]&
(điều IntegerString chỉ là đầu ra nó trong hex như hầu hết các trường thực hiện.)
Lưu ý rằng
Hash["abc", "SHA"]
cung cấp hàm băm "\" abc \ "" - không phải thứ bạn muốn! Trên thực tế, lý do duy nhất chúng tôi có thể nhận được băm chính xác của "abc" là do biểu diễn Mathematica của ký hiệu abc
xảy ra là chuỗi "abc". Đối với phần lớn các chuỗi, điều này sẽ không xảy ra.
Vậy làm cách nào để bạn lấy hàm băm của chuỗi tùy ý trong Mathematica?
Lưu ý rằng Hash đã thay đổi trong phiên bản 8 của Mathematica sao cho chuỗi băm giờ giống với các ngôn ngữ khác. – joebolte