上次封裝的 javascript hash object: MD5, SHA-1, SHA-256 因為沒有優化導致體積過於龐大,所以再更新了一次,體積足足從原本未壓縮的 38KB 銳減 59% 來到 15KB。

這次也將原本的 JSON 格式改寫成更接近類別的寫法(區分 Private, Public),並通過 JSLint 檢測,效能上差異微小,新版本約略只比舊版執行時間快了 1%… XD

源碼:lib.hash.js(14.79KB)
壓縮:lib.hash.min.js(7.16KB)
測試:lib.hash.html

用法部份有兩種作法,一種是宣告新物件:

var hash = new Hash;
var md5 = hash.md5('YOUR STRING');

另一種是修改源碼:

/* Line 12 of lib.hash.js */
var Hash = function() {
...
/* 改為 */
var Hash = new function() {
...
/* 就能直接以下列方式使用:*/
var md5 = Hash.md5('YOUR STRING');

函式就是原本的 md5, sha1, sha256:

var md5 = hash.md5('YOUR STRING');
var sha1 = hash.sha1('YOUR STRING');
var sha256 = hash.sha256('YOUR STRING');