當前位置:編程學習大全網 - 源碼下載 - 怎樣可以把微信的小程序加密

怎樣可以把微信的小程序加密

1、下載MD5源文件(JS);

2、在小程序模塊中使用require引入外部模塊;也可以在index.html中直接全局引入md5.js文件。

因為源md5.js中沒有隊模塊因為輸出,如果使用require需要export,所以在md5.js中需要加入以下代碼:

module.exports = {

hexMD5: hex_md5, //需要輸出的加密算法,我這邊只寫了我需要得兩種

b64Md5: b64_md5,

}

在js文件中使用require引入md5:

const md5 = require('../../assets/js/md5/md5.js');

使用:

let b64 = md5.b64Md5(code); //code需要加密的數據

下面是我的文件結構:

md5.js 代碼如下;

/*

* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message

* Digest Algorithm, as defined in RFC 1321.

* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.

* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet

* Distributed under the BSD License

* See t)

{

return (num << cnt) | (num >>> ( 32 - cnt));

}

/*

* Convert a string to an array of little-endian words

* If chrsz is ASCII, characters >255 have their hi-byte silently ignored.

*/

function str2binl(str)

{

var bin = Array();

var mask = ( 1 << chrsz) -

1;

for( var i =

0; i < str.length * chrsz; i += chrsz)

bin[i>> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i% 32);

return bin;

}

/*

* Convert an array of little-endian words to a string

*/

function binl2str(bin)

{

var str =

"";

var mask = ( 1 << chrsz) -

1;

for( var i =

0; i < bin.length *

32; i += chrsz)

str += String.fromCharCode((bin[i>> 5] >>> (i %

32)) & mask);

return str;

}

/*

* Convert an array of little-endian words to a hex string.

*/

function binl2hex(binarray)

{

var hex_tab = hexcase ?

"0123456789ABCDEF" :

"0123456789abcdef";

var str =

"";

for( var i =

0; i < binarray.length *

4; i++)

{

str += hex_tab.charAt((binarray[i>> 2] >> ((i% 4)* 8+ 4)) &

0xF) +

hex_tab.charAt((binarray[i>> 2] >> ((i% 4)* 8 )) &

0xF);

}

return str;

}

/*

* Convert an array of little-endian words to a base-64 string

*/

function binl2b64(binarray)

{

var tab =

"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

var str =

"";

for( var i =

0; i < binarray.length *

4; i +=

3)

{

var triplet = (((binarray[i >>

2] >>

8 * ( i % 4)) &

0xFF) <<

16)

| (((binarray[i+ 1 >>

2] >>

8 * ((i+ 1)% 4)) &

0xFF) <<

8 )

| ((binarray[i+ 2 >>

2] >>

8 * ((i+ 2)% 4)) &

0xFF);

for( var j =

0; j <

4; j++)

{

if(i *

8 + j *

6 > binarray.length *

32) str += b64pad;

else str += tab.charAt((triplet >>

6*( 3-j)) &

0x3F);

}

}

return str;

}

module.exports = {

hexMD5: hex_md5,

b64Md5: b64_md5,

}

  • 上一篇:金順返利網:妳怎麽看待k線?
  • 下一篇:Otter源代碼分析
  • copyright 2024編程學習大全網