Heim  >  Artikel  >  WeChat-Applet  >  Nodejs entwickelt ein WeChat-Applet zur Implementierung der Passwortverschlüsselung

Nodejs entwickelt ein WeChat-Applet zur Implementierung der Passwortverschlüsselung

不言
不言Original
2018-06-23 16:26:172225Durchsuche

Was dieser Artikel mit Ihnen teilt, ist der Beispielcode zur Implementierung der Passwortverschlüsselung bei der Entwicklung des WeChat-Applets. Es ist sehr einfach. Freunde in Not können sich darauf beziehen.

WeChat-Applet-Entwicklung. Spezifische Schritte zum Implementieren der Passwortverschlüsselung:

Fügen Sie eine Funktion in der Datei util.js in utils hinzu, um die Zeichenfolge in eine hexadezimal verschlüsselte Zeichenfolge umzuwandeln:

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) //对四字节UTF-16转换为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;

};

Exportfunktion

module.exports = {

formatTime: formatTime,

sha1:sha1

}

Auf diese Weise können Sie es auf anderen Seiten aufrufen

var util = require(&#39;../../utils/util.js&#39;)

util.sha1("123456")

Nehmen Sie als Beispiel das Passwort 123456, das Ergebnis der Online-Verschlüsselung


Aufruf des Ergebnisses im Applet


Die Verschlüsselungsergebnisse sind die gleichen

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist die chinesische PHP-Website!

Verwandte Empfehlungen:

WeChat-Applet-Entwicklung zur Realisierung des Seitenwechsels von Tabs

WeChat-Applet zur Realisierung von Echtzeitkreisen Umschaltmethode zur Gestaltung des Fortschrittsbalkens

Implementierung der Nachrichtenaufforderungsbox des WeChat-Applets

Das obige ist der detaillierte Inhalt vonNodejs entwickelt ein WeChat-Applet zur Implementierung der Passwortverschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn