forked from mystiq/hydrogen-web
63 lines
2.3 KiB
HTML
63 lines
2.3 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
</head>
|
||
|
<body>
|
||
|
<script type="text/javascript">
|
||
|
if (!Math.imul) Math.imul = function(a, b) {
|
||
|
var aHi = (a >>> 16) & 0xffff;
|
||
|
var aLo = a & 0xffff;
|
||
|
var bHi = (b >>> 16) & 0xffff;
|
||
|
var bLo = b & 0xffff;
|
||
|
// the shift by 0 fixes the sign on the high part
|
||
|
// the final |0 converts the unsigned value into a signed value
|
||
|
return ((aLo * bLo) + (((aHi * bLo + aLo * bHi) << 16) >>> 0) | 0);
|
||
|
};
|
||
|
|
||
|
if (!Math.clz32) Math.clz32 = (function(log, LN2){
|
||
|
return function(x) {
|
||
|
// Let n be ToUint32(x).
|
||
|
// Let p be the number of leading zero bits in
|
||
|
// the 32-bit binary representation of n.
|
||
|
// Return p.
|
||
|
var asUint = x >>> 0;
|
||
|
if (asUint === 0) {
|
||
|
return 32;
|
||
|
}
|
||
|
return 31 - (log(asUint) / LN2 | 0) |0; // the "| 0" acts like math.floor
|
||
|
};
|
||
|
})(Math.log, Math.LN2);
|
||
|
</script>
|
||
|
<!-- removing this line will make it work -->
|
||
|
<script src="https://dl.dropboxusercontent.com/s/r55397ld512etib/EncoderDecoderTogether.min.js?dl=0" nomodule="" type="text/javascript"></script>
|
||
|
<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>
|
||
|
<script type="text/javascript" src="../lib/olm/olm_legacy.js"></script>
|
||
|
<script type="text/javascript">
|
||
|
window.Olm.init().then(function() {
|
||
|
const bytes = [
|
||
|
34, 123, 54, 9, 124, 89, 230, 120,
|
||
|
43, 232, 19, 78, 129, 170, 255, 5,
|
||
|
90, 143, 56, 99, 101, 140, 240, 3,
|
||
|
7, 121, 41, 22, 67, 231, 85, 32
|
||
|
];
|
||
|
var privKey = new Uint8Array(32);
|
||
|
for (var i = bytes.length - 1; i >= 0; i--) {
|
||
|
privKey[i] = bytes[i];
|
||
|
}
|
||
|
console.log("privKey", privKey);
|
||
|
const decryption = new window.Olm.PkDecryption();
|
||
|
let backupPubKey;
|
||
|
try {
|
||
|
backupPubKey = decryption.init_with_private_key(privKey);
|
||
|
console.log("backupPubKey", backupPubKey.length, backupPubKey);
|
||
|
} catch (e) {
|
||
|
decryption.free();
|
||
|
throw e;
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|
||
|
|