Ответ 1
Не знаю, что я знаю.
однако вы всегда можете использовать реализацию JavaScript MD5
Я хотел бы иметь возможность создавать уникальные токены * для пользователей на основе хешированной строки. Я знаю, что мог бы, например, использовать библиотеку md5(), но поскольку цель не является криптографической, мне было интересно, есть ли что-нибудь, что я мог бы использовать "из коробки". Существуют ли какие-либо односторонние хэширующие функции, доступные в родном JavaScript?
* Я понимаю, что это не будет строго уникальным. Я в порядке с небольшой вероятностью столкновения хеширования.
Не знаю, что я знаю.
однако вы всегда можете использовать реализацию JavaScript MD5
В JavaScript не существует ничего. Вы можете использовать что-то вроде Murmurhash. Здесь реализована реализация JavaScript: https://github.com/garycourt/murmurhash-js. Я не использовал его, хотя не могу ручаться за него.
В JavaScript нет встроенного хеширования, но есть много библиотек.
Я рекомендую крипто-js: https://code.google.com/p/crypto-js/
Например, чтобы использовать SHA1, вы просто:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/sha1.js"></script>
<script>
var hash = CryptoJS.SHA1("Message");
</script>
На горизонте это может быть возможно с помощью экспериментального API веб-криптографического интерфейса
https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API
https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto
Конечно, на момент написания этой книги нереально использовать в производственной среде и, вероятно, будет движущейся целью. Однако, знаете ли 5 лет?