Как создать хэшированное письмо в jQuery?

Мне нужно хэшировать электронную почту в jQuery для использования с Gravatar.

Так:

http://www.gravatar.com/avatar/user@email.com

превратится в:

http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50

Я могу получить письмо от Python/Mako и передать его в свой класс jQuery.

var gravatar_placeholder = $('#modal-vcard .vcard_profile_pic img').prop('src');
var substr = gravatar_placeholder.split('__gravatar__').join(their_email);

Электронная почта пользователя their_email и мне нужно хешировать в jquery/javascript перед 2-й строкой выше, чтобы потом сгенерировать Gravatar.

Я нашел этот ответ здесь, но не смог заставить его работать в моей ситуации.

Какие-нибудь советы? Как бы вы подошли к этому?

2 ответа

Решение

Есть несколько алгоритмов хеширования, и я не уверен, какой из них вы хотите использовать, но MD5 - довольно популярный алгоритм хеширования.

Например, someemail@test.com хешируется в MD5 9cb0cbcda88377b1e1d66e8d7f01cbae,

https://github.com/blueimp/JavaScript-MD5

Вот еще один пример, который использует крипто-библиотеку

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/md5.js"></script>
<script>
var hash = CryptoJS.MD5("name@test.com");
var img = new Image();
img.src = "http://www.gravatar.com/avatar/" + hash;
document.body.appendChild(img);
</script>
Другие вопросы по тегам