Я хотел бы сгенерировать SHA1 или подобные хэши, используя только клиентский Javascript. Другими словами, использование Javascript-движков, предоставляемых IE, FF и Webkit. Мне интересно, какие существуют хэш-реализации?Какие алгоритмы хеша поддерживаются современным Javascript?
ответ
Я не верю, что в браузере есть какие-либо встроенные функции, но есть некоторые хорошо документированные реализации.
Лучшее, что я нашел это http://code.google.com/p/crypto-js/, который доступен через CDN и поддерживает:
- MD5
- SHA-1
- SHA-256
- AES
- DES
- Rabbit
- MARC4
- HMAC
- HMAC-MD5
- HMAC-SHA1
- HMAC-SHA256
- PBKDF2
Если вопросы безопасности, то использовать алгоритм, который не был сломан (пока) и меньше подвержены к различным формам атаки (wikipedia имеет хороший пробой в нижней части this article).
Основываясь на отсутствии ответов на вопрос this question, похоже, что это не родная функциональность браузера. Хотелось бы, но я видел проблемы, связанные с использованием браузера. Например, если в алгоритме обнаружен недостаток, было бы сложно переместить пользователей на новый алгоритм, пока вы не узнали, что все его браузеры его поддерживают (и они обновились). Если вы управляете алгоритмом хеширования, тогда вы можете развернуть новый скрипт, когда захотите.
Я не уверен в реализации встроенных хэш-реализаций, отличных от того, что уже используется для ассоциативных массивов, но вот некоторые примеры реализации с кодом.
ША
- http://www.movable-type.co.uk/scripts/sha1.html
- http://www.webtoolkit.info/javascript-sha1.html
- http://jssha.sourceforge.net/
MD5 (с некоторыми другими включено)
Я также нашел [версию Mootool] (https://github.com/sixtyseconds/mootools-string-cryptography/blob/master/Source/String.SHA-1.js) и [этот смысл] (https: // gist .github.com/712736). – Xeoncross
Movable Type опубликовал реализацию Js о SHA1 здесь: http://www.movable-type.co.uk/scripts/sha1.html
я уверен, что есть много других реализаций.
- 1. Возвращаемые поддерживаемые алгоритмы хеша
- 2. Алгоритмы хеша SQL Server
- 3. Какие алгоритмы MAC (Message Authentication Code) поддерживаются в OpenSSL?
- 4. Какие алгоритмы машинного обучения поддерживаются с искровым mllib и не поддерживаются mahout и наоборот?
- 5. Какие функции JavaScript поддерживаются различными браузерами?
- 6. Какие аудиоформаты поддерживаются TTS?
- 7. Какие SynthConstants поддерживаются компонентом?
- 8. , какие форматы поддерживаются libvlc_media_player_set_time
- 9. Какие алгоритмы используют SQL?
- 10. Какие алгоритмы используют AlchemyAPI?
- 11. HashiCorp Vault проекта - поддерживаются алгоритмы шифрования
- 12. Какие типы файлов поддерживаются WKWebView?
- 13. Какие элементы управления поддерживаются ViewState?
- 14. Какие аудиокодеки поддерживаются для HLS?
- 15. Какие версии firebird поддерживаются nHibernate?
- 16. Какие форматы diff поддерживаются Git?
- 17. Какие форматы субтитров поддерживаются Chromecast?
- 18. Какие методы селена поддерживаются PHP?
- 19. Какие аудиоформаты поддерживаются браузером Android?
- 20. Какие базы данных поддерживаются PHP?
- 21. Какие языки поддерживаются в миксинах?
- 22. Какие типы данных поддерживаются FACT ++?
- 23. Какие арифметические операции поддерживаются CQL?
- 24. Какие языки поддерживаются файлом db
- 25. Какие свойства CSS поддерживаются браузерами?
- 26. , какие браузеры поддерживаются Selenium 2.0
- 27. Какие версии GIT поддерживаются GITLAB?
- 28. Какие форматы поддерживаются библиотекой imgscalr?
- 29. Какие алгоритмы JUNG уместны здесь?
- 30. Какие алгоритмы используются в java.lang.Math?
Существует много. Google - ваш друг. (Пример: http://www.webtoolkit.info/javascript-sha1.html) –
@ user1150525 - Я думаю, что OP ищет реализацию, используя только браузер JS в браузере. Я просто искал то же самое вчера вечером, чтобы избежать зависимости от сторонней библиотеки. –