В дополнении Firefox вы должны использовать nsICryptoHash . Например, если вы хотите хэшировать строку с использованием алгоритма MD5, вы должны использовать следующую функцию:
function toMD5(str)
{
// Convert string to an array of bytes
var array = Array.prototype.slice.call(str);
// Create MD5 hash
var hashEngine = Components.classes["@mozilla.org/security/hash;1"]
.createInstance(Components.interfaces.nsICryptoHash);
hashEngine.init(hashEngine.MD5);
hashEngine.update(array, array.length);
return hashEngine.finish(true);
}
alert(toMD5("test")); // Displays: 8dP/hEMpdzKGLfIdxOVyYg==
Обратите внимание, что при этом возвращается хеш-значение в кодировке base64. Используйте finish(false)
, чтобы получить необработанное (двоичное) значение хеш-функции.