微信小程序sha1如何实现密码加密

  介绍

这篇文章主要介绍微信小程序sha1如何实现密码加密,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强>微信小程序sha1实现密码加密实例详解

在跑龙套中的实效。js文件中增加函数实现字符串转换为16进制加密后的字符串

function  encodeUTF8 (s), {   ,var 我,r =, [], c, x;   ,for (小姐:=,0;,小姐:& lt;, s.length;,我+ +)   if 才能;((c =, s.charCodeAt(我)),& lt;, 0 x80), r.push (c);   else 才能;if  (c  & lt;, 0 x800), r.push (+ 0 xc0  (c 在祝辞,6,,,0 x1f),, 0 x80  +, (c ,, 0 x3f));   else {才能   ,,if  ((=x  c  ^, 0 xd800),在祝辞,10,==,0),//对四字节utf - 16转换为Unicode   ,,,c =, (x  & lt; & lt;, 10), +, (s.charCodeAt (+ + i), ^, 0 xdc00), +, 0 x10000,   ,,,,r.push (+ 0 xf0  (c 在祝辞,18,,,0 x7),, 0 x80  +, (c 在祝辞,12,,,0 x3f));   ,,else  r.push (+ 0 xe0  (c 在祝辞,12,,,0 xf));   ,,r.push (+ 0 x80  (c 在祝辞,6,,,0 x3f),, 0 x80  +, (c ,, 0 x3f));   ,,};   ,return  r;   };//,字符串加密成,hex 字符串   function  sha1 (s), {   ,var  data =, new  Uint8Array (encodeUTF8 (s))   ,var  i, j, t;   ,var  l =,((时间+ data.length  8),在祝辞祝辞,6,& lt; & lt;, 4), +, 16日,s =, new  Uint8Array (l  & lt; & lt;, 2);   ,s.set (new  Uint8Array (data.buffer)),, s =, new  Uint32Array (s.buffer);   ,for  (t =, new  DataView (s.buffer),小姐:=,0;,小姐:& lt;, l;,我+ +)s[我],=,t.getUint32(小姐:& lt; & lt;, 2);   ,年代[data.length 在祝辞,2],|=,0 x80  & lt; & lt;,(24,安康;(时间,data.length  3), *, 8);   ,年代[l 安康;1],=,data.length  & lt; & lt;, 3;   ,var  w =, [],, f =, (   function 才能;(),{,return  m [1],,, m [2], |, ~ m [1],,, m [3];,},   function 才能;(),{,return  m [1], ^, m [2], ^, m [3];,},   function 才能;(),{,return  m [1],,, m [2], |, m [1],,, m [3], |, m [2],,, m [3];,},   function 才能;(),{,return  m [1], ^, m [2], ^, m [3];,}   ,,rol =, function  (n, c), {, return  n  & lt; & lt;, c  |, n 在祝辞祝辞,(32,安康;c),,},   k 才能=,(1518500249,,1859775393,,-1894007588,,-899497514),   m 才能=,(1732584193,,-271733879,,空,,空,,-1009589776);   ,m [2]=, ~ m [0], m [3],=, ~ m [1];   ,for (小姐:=,0;,小姐:& lt;, s.length;,小姐:+=,16),{   var 才能;o =, m.slice (0);   for 才能;(j =, 0;, j  & lt;, 80;, j + +)   ,,w [j],=, j  & lt;, 16, ?, s[小姐:+,j],:,高校(w (j 作用;3),^,w (j 作用;8),^,w (j 安康;14),^,w (j 安康;16),,1),   ,,,t =,高校(m [0],, 5), +, f [/j  20, |, 0] (), +, m [4], +, w [j], +, k(时间/j  20, |, 0], |, 0,   ,,,m[1],=,高校(30 m [1],,),, m.pop (),, m.unshift (t);   for 才能;(j =, 0;, j  & lt;, 5。, j + +) m [j],=, m [j], +, o [j], |, 0;   ,};=,,t  new  DataView (new  Uint32Array (m) .buffer);   ,for  (var 小姐:=,0;,小姐:& lt;, 5;,我+ +)m[我],=,t.getUint32(小姐:& lt; & lt;, 2);      ,var  hex =, Array.prototype.map.call (new  Uint8Array (new  Uint32Array (m) .buffer),, function  (e), {   return 才能;(e  & lt;, 16, ?,“0”,:,“,“), +, e.toString (16);   ,}). join (“;”);      ,return 十六进制;   };

导出函数

module.exports =, {   ,formatTime: formatTime,   sha1: sha1   }

这样就可以在其他页面中调用了

var  util =,需要(& # 39;. ./. ./跑龙套util.js& # 39;)   util.sha1 (“123456“)

,以密码为,null

微信小程序sha1如何实现密码加密