Right, this seems to work very well. I consider it solved.

Here is the corrected code:

hash: function(str,method) {

        var converter = Components.classes["@mozilla.org/intl/
scriptableunicodeconverter"].createInstance
(Components.interfaces.nsIScriptableUnicodeConverter);
        converter.charset = "UTF-8";
        var result = {};
        var data = converter.convertToByteArray(str, result);
        var hash_engine = Components.classes["@mozilla.org/security/hash;
1"].createInstance().QueryInterface
(Components.interfaces.nsICryptoHash);

                switch(method) {
                        case 'MD5':
                        hash_engine.init(hash_engine.MD5);
                        break;
                        case 'SHA1':
                        hash_engine.init(hash_engine.SHA1);
                        break;
                        case 'SHA256':
                        hash_engine.init(hash_engine.SHA256);
                        break;
                }

           hash_engine.update(data, result.value);
           return TOOLS.convert('bin2hex',hash_engine.finish(false));
        },
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to