亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微信小程序 sha1 實(shí)現(xiàn)密碼加密實(shí)例詳解

 更新時間:2017年07月06日 11:46:00   作者:孤獨(dú)的和弦  
這篇文章主要介紹了微信小程序 sha1 實(shí)現(xiàn)密碼加密實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

微信小程序 sha1 實(shí)現(xiàn)密碼加密實(shí)例詳解

在utils中的util.js 文件中增加 函數(shù) 實(shí)現(xiàn) 字符串轉(zhuǎn)換為16進(jìn)制加密后的字符串

function encodeUTF8(s) {
 var i, r = [], c, x;
 for (i = 0; i < s.length; i++)
  if ((c = s.charCodeAt(i)) < 0x80) r.push(c);
  else if (c < 0x800) r.push(0xC0 + (c >> 6 & 0x1F), 0x80 + (c & 0x3F));
  else {
   if ((x = c ^ 0xD800) >> 10 == 0) //對四字節(jié)UTF-16轉(zhuǎn)換為Unicode
    c = (x << 10) + (s.charCodeAt(++i) ^ 0xDC00) + 0x10000,
     r.push(0xF0 + (c >> 18 & 0x7), 0x80 + (c >> 12 & 0x3F));
   else r.push(0xE0 + (c >> 12 & 0xF));
   r.push(0x80 + (c >> 6 & 0x3F), 0x80 + (c & 0x3F));
  };
 return r;
};

// 字符串加密成 hex 字符串
function sha1(s) {
 var data = new Uint8Array(encodeUTF8(s))
 var i, j, t;
 var l = ((data.length + 8) >>> 6 << 4) + 16, s = new Uint8Array(l << 2);
 s.set(new Uint8Array(data.buffer)), s = new Uint32Array(s.buffer);
 for (t = new DataView(s.buffer), i = 0; i < l; i++)s[i] = t.getUint32(i << 2);
 s[data.length >> 2] |= 0x80 << (24 - (data.length & 3) * 8);
 s[l - 1] = data.length << 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 << c | n >>> (32 - c); },
  k = [1518500249, 1859775393, -1894007588, -899497514],
  m = [1732584193, -271733879, null, null, -1009589776];
 m[2] = ~m[0], m[3] = ~m[1];
 for (i = 0; i < s.length; i += 16) {
  var o = m.slice(0);
  for (j = 0; j < 80; j++)
   w[j] = j < 16 ? s[i + j] : rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1),
    t = rol(m[0], 5) + f[j / 20 | 0]() + m[4] + w[j] + k[j / 20 | 0] | 0,
    m[1] = rol(m[1], 30), m.pop(), m.unshift(t);
  for (j = 0; j < 5; j++)m[j] = m[j] + o[j] | 0;
 };
 t = new DataView(new Uint32Array(m).buffer);
 for (var i = 0; i < 5; i++)m[i] = t.getUint32(i << 2);

 var hex = Array.prototype.map.call(new Uint8Array(new Uint32Array(m).buffer), function (e) {
  return (e < 16 ? "0" : "") + e.toString(16);
 }).join("");

 return hex;
};

導(dǎo)出函數(shù)

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

這樣就可以在其他頁面中調(diào)用了

var util = require('../../utils/util.js')
util.sha1("123456")

 以 密碼為  123456 作為示例,在線加密結(jié)果

小程序中調(diào)用結(jié)果

加密結(jié)果是相同的

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • JS算法題解搜索插入位置方法示例

    JS算法題解搜索插入位置方法示例

    這篇文章主要為大家介紹了JS算法題解搜索插入位置方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • JS前端使用canvas動態(tài)繪制函數(shù)曲線示例詳解

    JS前端使用canvas動態(tài)繪制函數(shù)曲線示例詳解

    這篇文章主要為大家介紹了JS前端使用canvas畫函數(shù)曲線的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 網(wǎng)絡(luò)請求(GET請求)詳解

    微信小程序 網(wǎng)絡(luò)請求(GET請求)詳解

    這篇文章主要介紹了微信小程序 網(wǎng)絡(luò)請求(GET請求)詳解的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Javascript 常見的高階函數(shù)詳情

    Javascript 常見的高階函數(shù)詳情

    這篇文章主要介紹了Javascript 常見的高階函數(shù)的相關(guān)資料,高階函數(shù),英文叫 Higher Order function。一個函數(shù)可以接收另外一個函數(shù)作為參數(shù),這種函數(shù)就叫做高階函數(shù),需要的朋友可以參考一下
    2021-09-09
  • 微信小程序 圖片絕對定位(背景圖片)

    微信小程序 圖片絕對定位(背景圖片)

    這篇文章主要介紹了微信小程序 圖片絕對定位(背景圖片)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 微信小程序 歡迎頁面的制作(源碼下載)

    微信小程序 歡迎頁面的制作(源碼下載)

    這篇文章主要介紹了微信小程序 歡迎頁面的制作含(源碼下載)的相關(guān)資料,這里實(shí)現(xiàn)歡迎頁面,開始做應(yīng)用的時候都會用到,需要的朋友可以參考下
    2017-01-01
  • JS遞歸遍歷查詢是否有權(quán)限示例詳解

    JS遞歸遍歷查詢是否有權(quán)限示例詳解

    這篇文章主要為大家介紹了JS遞歸遍歷查詢是否有權(quán)限示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 基于JavaScript代碼實(shí)現(xiàn)微信掃一掃下載APP

    基于JavaScript代碼實(shí)現(xiàn)微信掃一掃下載APP

    有很多人在做微信的掃一掃下載。但是在微信更新之后微信將該功能給禁止掉了,也不能說是全面禁止吧,因?yàn)轵v訊、微信是一家嘛,通過應(yīng)用寶審核的應(yīng)用好像還是可以通過掃一掃直接下載的,下面通過本篇文章給大家介紹微信掃一掃下載app的代碼片段,感興趣的朋友一起看看吧
    2015-12-12
  • JS輕量級函數(shù)式編程實(shí)現(xiàn)XDM一

    JS輕量級函數(shù)式編程實(shí)現(xiàn)XDM一

    這篇文章主要為大家介紹了JS輕量級函數(shù)式編程實(shí)現(xiàn)XDM示例詳解第1/3篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • JavaScript阻止事件冒泡的方法

    JavaScript阻止事件冒泡的方法

    這篇文章主要介紹了基于JavaScript阻止事件冒泡,事件冒泡?開始時由最具體的元素接收,然后逐級向上傳播到到?DOM?最頂層節(jié)點(diǎn)。更多詳細(xì)內(nèi)容請需要的小伙伴參考下面文章的具體內(nèi)容希望對你有所幫助
    2021-12-12

最新評論