send/frontend/src/utils.js

40 lines
813 B
JavaScript
Raw Normal View History

2017-06-02 03:59:27 +00:00
function ivToStr(iv) {
let hexStr = '';
2017-06-09 17:44:12 +00:00
for (const i in iv) {
2017-06-02 03:59:27 +00:00
if (iv[i] < 16) {
hexStr += '0' + iv[i].toString(16);
} else {
hexStr += iv[i].toString(16);
}
}
window.hexStr = hexStr;
return hexStr;
}
function strToIv(str) {
2017-06-20 20:03:04 +00:00
const iv = new Uint8Array(12);
2017-06-02 03:59:27 +00:00
for (let i = 0; i < str.length; i += 2) {
iv[i / 2] = parseInt(str.charAt(i) + str.charAt(i + 1), 16);
}
return iv;
}
2017-06-21 20:23:36 +00:00
function notify(str) {
if (!('Notification' in window)) {
2017-06-21 20:23:36 +00:00
return;
} else if (Notification.permission === 'granted') {
new Notification(str);
2017-06-21 20:23:36 +00:00
} else if (Notification.permission !== 'denied') {
Notification.requestPermission(function(permission) {
if (permission === 'granted') new Notification(str);
});
2017-06-21 20:23:36 +00:00
}
}
2017-06-02 03:59:27 +00:00
module.exports = {
ivToStr,
2017-06-21 20:23:36 +00:00
strToIv,
notify
2017-06-02 03:59:27 +00:00
};