Как создать хэшированное письмо в 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
,
Вот еще один пример, который использует крипто-библиотеку
<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>