Bonjour à tous.
J’ai un code Java que j’ai adapté en JavaScript dans les deux cas j’utilise SHA1 et SHA256 mais je retrouve pas le même hash.
Code java:
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 byte[] bytes = str.getBytes("UTF-16LE"); byte[] decode = Base64.decode(str3.getBytes(), 0); int length = bytes.length + decode.length; byte[] bArr = new byte[length]; int i2 = 0; while (i2 < length) { bArr[i2] = i2 < decode.length ? decode[i2] : bytes[i2 - decode.length]; i2++; } String encodeToString = Base64.encodeToString(SHA1(bArr), 0); String encodeToString2 = Base64.encodeToString(SHA256(bArr), 0);
Code JS:
Une idée ce que j’ai fais de travers?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 const encoder = new TextEncoder('UTF-16'); const toBytes = (text) => { return encoder.encode(text); }; //if (str3 !== null && str3.length !== 0) { var bytes = toBytes('2807');; var decode = btoa(toBytes(result.salt)); var length = bytes.length + decode.length; var bArr = new Uint16Array(length); var i2 = 0; while (i2 < length) { bArr[i2] = i2 < decode.length ? decode.charCodeAt(i2) : bytes[i2 - decode.length]; i2++; } var encodeToString = btoa(CryptoJS.SHA1(bArr)); var encodeToString2 = btoa(CryptoJS.SHA256(bArr)); console.log(encodeToString); console.log(encodeToString2);
Merci d’avance
Olivier
Partager