Хэш sha1 "abc"
a9993e364706816aba3e25717850c26c9cd0d89d
Единственный способ заставить Mathematica сказать вам, что с ее функцией Hash
это
Hash[abc, "SHA"] // IntegerString[#, 16]&
(Дело IntegerString заключается в том, чтобы просто вывести его в шестнадцатеричном формате, как это делают большинство реализаций.)
Обратите внимание, что
Hash["abc", "SHA"]
дает хэш "\"abc\"" - не то, что вы хотите! На самом деле, единственная причина, по которой мы смогли получить правильный хэш «abc», заключалась в том, что представление Mathematica символа abc
оказалось строкой «abc». Для подавляющего большинства строк это не так.
Так как же взять хэш произвольной строки в Mathematica?