From 1581e8dce414e3c9921b47eddd40bb3eb0c81d61 Mon Sep 17 00:00:00 2001 From: Chen Yi-Cyuan Date: Sun, 27 Jul 2014 19:54:56 +0800 Subject: [PATCH] Fixed accents bug --- CHANGELOG.md | 4 ++++ build/sha256.min.js | 2 +- package.json | 2 +- src/sha256.js | 4 ++-- tests/test.js | 4 ++++ 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11b3c13..678a8fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# v0.1.1 / 2014-07-27 + +Fixed accents bug + # v0.1.0 / 2014-01-05 Initial release diff --git a/build/sha256.min.js b/build/sha256.min.js index e5775af..0eac253 100644 --- a/build/sha256.min.js +++ b/build/sha256.min.js @@ -1,5 +1,5 @@ (function(t,I){var u="0123456789abcdef".split(""),F={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15},J=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895, -666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],f=function(g){return G(g,!0)},H=function(g){return G(g,!1)},G=function(g,z){z===I&&(z=!0);var a;a:{for(a=g.length;a--;)if(255>2]=37==m?a[e>>2]|(F[b.charAt(++c)]<<4|F[b.charAt(++c)])<<(3-e%4<<3):a[e>>2]|m<<(3-e%4<<3);++e}b=(e+8>>6)+1<<4;c=e>>2;a[c]|=128<<(3-e%4<<3);for(c+=1;c>6)+1<<4;c=[];for(b=0;b>2]|=g.charCodeAt(b)<<(3-b%4<<3);c[b>>2]|=128<<(3-b%4<<3);c[e-1]=a<<3;a=c}e=a;if(z){var c=1779033703,b=3144134277,r=1013904242,m=2773480762,f= 1359893119,v=2600822924,w=528734635;a=1541459225}else c=3238371032,b=914150663,r=812702999,m=4144912697,f=4290775857,v=1750603025,w=1694076839,a=3204075428;for(var A=0,t=e.length;Ad;++d)h[d]=e[A+d];for(d=16;64>d;++d)s=k(h[d-15],7)^k(h[d-15],18)^h[d-15]>>>3,l=k(h[d-2],17)^k(h[d-2],19)^h[d-2]>>>10,h[d]=h[d-16]+s+h[d-7]+l;for(var n=c,x=b,y=r,D=m,p=f,B=v,C=w,E=a,u,d=0;64>d;++d)s=k(n,2)^k(n,13)^k(n,22),l=n&x^n&y^x&y,s+=l,l=k(p,6)^k(p,11)^k(p,25),u=p&B^~p&C,l=E+l+u+J[d]+ h[d]&4294967295,E=C,C=B,B=p,p=D+l,D=y,y=x,x=n,n=l+s;c+=n;b+=x;r+=y;m+=D;f+=p;v+=B;w+=C;a+=E}e=q(c)+q(b)+q(r)+q(m)+q(f)+q(v)+q(w);z&&(e+=q(a));return e},k=function(g,f){return g>>>f|g<<32-f},q=function(g){for(var f="",a=0;4>a;a++)var b=3-a<<3,f=f+(u[g>>b+4&15]+u[g>>b&15]);return f};"undefined"!=typeof module?(f.sha256=f,f.sha224=H,module.exports=f):t&&(t.sha256=f,t.sha224=H)})(this); diff --git a/package.json b/package.json index 399b3e7..50a66b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "js-sha256", - "version": "0.1.0", + "version": "0.1.1", "description": "A simple SHA-256 / SHA-224 hash function for JavaScript supports UTF-8 encoding.", "main": "src/sha256.js", "scripts": { diff --git a/src/sha256.js b/src/sha256.js index d7505d2..0a047e2 100644 --- a/src/sha256.js +++ b/src/sha256.js @@ -1,5 +1,5 @@ /* - * js-sha256 v0.1.0 + * js-sha256 v0.1.1 * https://github.com/emn178/js-sha256 * * Copyright 2014, emn178@gmail.com @@ -137,7 +137,7 @@ var hasUTF8 = function(message) { var i = message.length; while(i--) - if(message.charCodeAt(i) > 255) + if(message.charCodeAt(i) > 127) return true; return false; }; diff --git a/tests/test.js b/tests/test.js index 975796f..a48c06e 100644 --- a/tests/test.js +++ b/tests/test.js @@ -1,6 +1,10 @@ assert('sha256 1', 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256('')); assert('sha256 2', 'd7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592', sha256('The quick brown fox jumps over the lazy dog')); assert('sha256 3', 'ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c', sha256('The quick brown fox jumps over the lazy dog.')); +assert('sha256 4', '72726d8818f693066ceb69afa364218b692e62ea92b385782363780f47529c21', sha256('中文')); +assert('sha256 5', '53196d1acfce0c4b264e01e8018c989d571351f59e33f055f76ff15b4f0516c6', sha256('aécio')); assert('sha224 1', 'd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f', sha224('')); assert('sha224 2', '730e109bd7a8a32b1cb9d9a09aa2325d2430587ddbc0c38bad911525', sha224('The quick brown fox jumps over the lazy dog')); assert('sha224 3', '619cba8e8e05826e9b8c519c0a5c68f4fb653e8a3d8aa04bb2c8cd4c', sha224('The quick brown fox jumps over the lazy dog.')); +assert('sha224 4', 'dfbab71afdf54388af4d55f8bd3de8c9b15e0eb916bf9125f4a959d4', sha224('中文')); +assert('sha224 5', 'd12841cafd89c534924a839e62bf35a2b5f3717b7802eb19bd8d8e15', sha224('aécio'));