From 372b15afed0b7477bd83062feaa7f24c4d40e38d Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 23 Mar 2017 14:12:30 +0100 Subject: git subrepo clone https://leap.se/git/srp_js app/assets/javascripts/srp subrepo: subdir: "app/assets/javascripts/srp" merged: "9e1a417" upstream: origin: "https://leap.se/git/srp_js" branch: "master" commit: "9e1a417" git-subrepo: version: "0.3.1" origin: "https://github.com/ingydotnet/git-subrepo" commit: "a7ee886" --- app/assets/javascripts/srp | 1 - app/assets/javascripts/srp/lib/SHA1.js | 174 +++++++++++++++++++++++++++++++++ 2 files changed, 174 insertions(+), 1 deletion(-) delete mode 160000 app/assets/javascripts/srp create mode 100644 app/assets/javascripts/srp/lib/SHA1.js (limited to 'app/assets/javascripts/srp/lib/SHA1.js') diff --git a/app/assets/javascripts/srp b/app/assets/javascripts/srp deleted file mode 160000 index 9e1a417..0000000 --- a/app/assets/javascripts/srp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9e1a41733468d4a3f5102b04277b9cd7b52d0a45 diff --git a/app/assets/javascripts/srp/lib/SHA1.js b/app/assets/javascripts/srp/lib/SHA1.js new file mode 100644 index 0000000..e772cbe --- /dev/null +++ b/app/assets/javascripts/srp/lib/SHA1.js @@ -0,0 +1,174 @@ +/** +* +* Secure Hash Algorithm (SHA1) +* http://www.webtoolkit.info/ +* +**/ + +function SHA1 (msg) { + + function rotate_left(n,s) { + var t4 = ( n<>>(32-s)); + return t4; + }; + + function lsb_hex(val) { + var str=""; + var i; + var vh; + var vl; + + for( i=0; i<=6; i+=2 ) { + vh = (val>>>(i*4+4))&0x0f; + vl = (val>>>(i*4))&0x0f; + str += vh.toString(16) + vl.toString(16); + } + return str; + }; + + function cvt_hex(val) { + var str=""; + var i; + var v; + + for( i=7; i>=0; i-- ) { + v = (val>>>(i*4))&0x0f; + str += v.toString(16); + } + return str; + }; + + + function Utf8Encode(string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + + for (var n = 0; n < string.length; n++) { + + var c = string.charCodeAt(n); + + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + + } + + return utftext; + }; + + var blockstart; + var i, j; + var W = new Array(80); + var H0 = 0x67452301; + var H1 = 0xEFCDAB89; + var H2 = 0x98BADCFE; + var H3 = 0x10325476; + var H4 = 0xC3D2E1F0; + var A, B, C, D, E; + var temp; + + msg = Utf8Encode(msg); + + var msg_len = msg.length; + + var word_array = new Array(); + for( i=0; i>>29 ); + word_array.push( (msg_len<<3)&0x0ffffffff ); + + + for ( blockstart=0; blockstart