From 0aa248c0b54e975e915776d15a653c9cd1ccf072 Mon Sep 17 00:00:00 2001 From: Chen Yi-Cyuan Date: Sun, 27 Jul 2014 20:06:52 +0800 Subject: [PATCH] Fixed accents bug --- CHANGELOG.md | 4 ++++ build/sha512.min.js | 2 +- package.json | 2 +- src/sha512.js | 4 ++-- tests/test.js | 8 ++++++++ 5 files changed, 16 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/sha512.min.js b/build/sha512.min.js index faa5603..d1777e1 100644 --- a/build/sha512.min.js +++ b/build/sha512.min.js @@ -3,7 +3,7 @@ 1034457026),new a(3584528711,2466948901),new a(113926993,3758326383),new a(338241895,168717936),new a(666307205,1188179964),new a(773529912,1546045734),new a(1294757372,1522805485),new a(1396182291,2643833823),new a(1695183700,2343527390),new a(1986661051,1014477480),new a(2177026350,1206759142),new a(2456956037,344077627),new a(2730485921,1290863460),new a(2820302411,3158454273),new a(3259730800,3505952657),new a(3345764771,106217008),new a(3516065817,3606008344),new a(3600352804,1432725776),new a(4094571909, 1467031594),new a(275423344,851169720),new a(430227734,3100823752),new a(506948616,1363258195),new a(659060556,3750685593),new a(883997877,3785050280),new a(958139571,3318307427),new a(1322822218,3812723403),new a(1537002063,2003034995),new a(1747873779,3602036899),new a(1955562222,1575990012),new a(2024104815,1125592928),new a(2227730452,2716904306),new a(2361852424,442776044),new a(2428436474,593698344),new a(2756734187,3733110249),new a(3204031479,2999351573),new a(3329325298,3815920427),new a(3391569614, 3928383900),new a(3515267271,566280711),new a(3940187606,3454069534),new a(4118630271,4000239992),new a(116418474,1914138554),new a(174292421,2731055270),new a(289380356,3203993006),new a(460393269,320620315),new a(685471733,587496836),new a(852142971,1086792851),new a(1017036298,365543100),new a(1126000580,2618297676),new a(1288033470,3409855158),new a(1501505948,4234509866),new a(1607167915,987167468),new a(1816402316,1246189591)],k=function(a){return q(a,512)},F=function(a){return q(a,384)},G= -function(a){return q(a,256)},H=function(a){return q(a,224)},q=function(b,h){var f;a:{for(f=b.length;f--;)if(255>2]=37==n?f[c>>2]|(E[e.charAt(++d)]<<4|E[e.charAt(++d)])<<(3-c%4<<3):f[c>>2]|n<<(3-c%4<<3);++c}e=(c+16>>7)+1<<5;d=c>>2;f[d]|=128<<(3-c%4<<3);for(d+=1;d>1]=new a(f[d],f[d+1]);f=c}else{e=b.length;f=(e+16>> +function(a){return q(a,256)},H=function(a){return q(a,224)},q=function(b,h){var f;a:{for(f=b.length;f--;)if(127>2]=37==n?f[c>>2]|(E[e.charAt(++d)]<<4|E[e.charAt(++d)])<<(3-c%4<<3):f[c>>2]|n<<(3-c%4<<3);++c}e=(c+16>>7)+1<<5;d=c>>2;f[d]|=128<<(3-c%4<<3);for(d+=1;d>1]=new a(f[d],f[d+1]);f=c}else{e=b.length;f=(e+16>> 7)+1<<5;d=[];for(c=0;c>2]|=b.charCodeAt(c)<<(3-c%4<<3);d[c>>2]|=128<<(3-c%4<<3);d[f-1]=e<<3;e=[];for(c=0;c>1]=new a(d[c],d[c+1]);f=e}if(512==h)var l=new a(1779033703,4089235720),k=new a(3144134277,2227873595),s=new a(1013904242,4271175723),t=new a(2773480762,1595750129),u=new a(1359893119,2917565137),v=new a(2600822924,725511199),w=new a(528734635,4215389547),x=new a(1541459225,327033209);else 384==h?(l=new a(3418070365,3238371032),k=new a(1654270250, 914150663),s=new a(2438529370,812702999),t=new a(355462360,4144912697),u=new a(1731405415,4290775857),v=new a(2394180231,1750603025),w=new a(3675008525,1694076839),x=new a(1203062813,3204075428)):256==h?(l=new a(573645204,4230739756),k=new a(2673172387,3360449730),s=new a(596883563,1867755857),t=new a(2520282905,1497426621),u=new a(2519219938,2827943907),v=new a(3193839141,1401305490),w=new a(721525244,746961066),x=new a(246885852,2177182882)):224==h&&(l=new a(2352822216,424955298),k=new a(1944164710, 2312950998),s=new a(502970286,855612546),t=new a(1738396948,1479516111),u=new a(258812777,2077511080),v=new a(2011393907,79989058),w=new a(1067287976,1780299464),x=new a(286451373,2446758561));d=0;for(c=f.length;dg;++g)e[g]=f[d+g];for(g=16;80>g;++g)y=e[g-15].rightRotate(1).xor(e[g-15].rightRotate(8)).xor(e[g-15].shiftRightUnsigned(7)),p=e[g-2].rightRotate(19).xor(e[g-2].rightRotate(61)).xor(e[g-2].shiftRightUnsigned(6)),e[g]=e[g-16].add(y).add(e[g-7]).add(p);for(var n= diff --git a/package.json b/package.json index bcc78b1..280d504 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "js-sha512", - "version": "0.1.0", + "version": "0.1.1", "description": "This is a simple SHA-512, SHA-384, SHA-512/224, SHA-512/256 hash functions for JavaScript supports UTF-8 encoding.", "main": "src/sha512.js", "scripts": { diff --git a/src/sha512.js b/src/sha512.js index b60b095..229fc8b 100644 --- a/src/sha512.js +++ b/src/sha512.js @@ -1,5 +1,5 @@ /* - * js-sha512 v0.1.0 + * js-sha512 v0.1.1 * https://github.com/emn178/js-sha512 * * Copyright 2014, emn178@gmail.com @@ -193,7 +193,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 9b121d5..c848fa5 100644 --- a/tests/test.js +++ b/tests/test.js @@ -1,12 +1,20 @@ assert('sha512 1', 'cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e', sha512('')); assert('sha512 2', '07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb642e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6', sha512('The quick brown fox jumps over the lazy dog')); assert('sha512 3', '91ea1245f20d46ae9a037a989f54f1f790f0a47607eeb8a14d12890cea77a1bbc6c7ed9cf205e67b7f2b8fd4c7dfd3a7a8617e45f3c463d481c7e586c39ac1ed', sha512('The quick brown fox jumps over the lazy dog.')); +assert('sha512 4', '8b88efc2ebbcbdad5ac2d65af05bec57bda25e71fd5fb25bbd892057a2755fbd05d8d8491cb2946febd5b0f124ffdfbaecf7e34946353c4f1b5ab29545895468', sha512('中文')); +assert('sha512 5', 'e1c6925243db76985abacaf9fa85e22697f549e67f65a36c88e4046a2260990ff9eefc3402396ea8dcbe8c592d8d5671bea612156eda38d3708d394bbd17d493', sha512('aécio')); assert('sha384 1', '38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b', sha384('')); assert('sha384 2', 'ca737f1014a48f4c0b6dd43cb177b0afd9e5169367544c494011e3317dbf9a509cb1e5dc1e85a941bbee3d7f2afbc9b1', sha384('The quick brown fox jumps over the lazy dog')); assert('sha384 3', 'ed892481d8272ca6df370bf706e4d7bc1b5739fa2177aae6c50e946678718fc67a7af2819a021c2fc34e91bdb63409d7', sha384('The quick brown fox jumps over the lazy dog.')); +assert('sha384 4', '93422ceb8291a69b22f02dc1114c39a287493ad525dcebc77e4019a44eaee2633a85d0f29cd298ee6799048c33a4be0c', sha384('中文')); +assert('sha384 5', 'a2146805faafc45b0055b49386768811c803ef9fa8a85b648e114276c1bf49ef1092ec1bc2d3f7e036238a97eace2087', sha384('aécio')); assert('sha512/256 1', 'c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a', sha512_256('')); assert('sha512/256 2', 'dd9d67b371519c339ed8dbd25af90e976a1eeefd4ad3d889005e532fc5bef04d', sha512_256('The quick brown fox jumps over the lazy dog')); assert('sha512/256 3', '1546741840f8a492b959d9b8b2344b9b0eb51b004bba35c0aebaac86d45264c3', sha512_256('The quick brown fox jumps over the lazy dog.')); +assert('sha512/256 4', 'b6dab29c16ec35ab34a5d92ff135b58de96741dda78b1009a2181cf8b45d2f72', sha512_256('中文')); +assert('sha512/256 5', '122802ca08e39c2ef46f6a81379dc5683bd8aa074dfb54259f0add4d8b5504bc', sha512_256('aécio')); assert('sha512/224 1', '6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4', sha512_224('')); assert('sha512/224 2', '944cd2847fb54558d4775db0485a50003111c8e5daa63fe722c6aa37', sha512_224('The quick brown fox jumps over the lazy dog')); assert('sha512/224 3', '6d6a9279495ec4061769752e7ff9c68b6b0b3c5a281b7917ce0572de', sha512_224('The quick brown fox jumps over the lazy dog.')); +assert('sha512/224 4', '0f46a0ae7f226517dd66ece0ce1efa29ffb7ced05ac4566fdcaed188', sha512_224('中文')); +assert('sha512/224 5', '562f2e4ee7f7451d20dcc6a0ac1a1e1c4a75f09baaf1cf19af3e15f4', sha512_224('aécio'));