From 6534757b525c98abf03f1e04fff77b1b05e4d66e Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Mon, 30 Dec 2019 20:01:49 +0530 Subject: * Enchancements * Fixes - Your clipboard will not be corrupted * Removed unwanted menus - Now Kopy.io Plugin will show a Notification box with options to Open/Copy your Kopy.io'ed urls * Adds Encryption to your data - Your data is encrypted by default (Unless you share the url with decryption key -- Key is after the '#' part in the url) --- src/utils.ts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/utils.ts (limited to 'src/utils.ts') diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..40e985e --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,40 @@ +export class Utils { + static createKey(keyLength: number){ + let keyspace: String = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + let text = ''; + let index; + for (let i = 0; i < keyLength; i++) + { + index = Math.floor(Math.random() * keyspace.length); + text += keyspace.charAt(index); + } + return text; + } + + static toUTF8Array(str) { + let utf8 = []; + for (var i=0; i < str.length; i++) { + let charcode = str.charCodeAt(i); + if (charcode < 0x80) utf8.push(charcode); + else if (charcode < 0x800) { + utf8.push(0xc0 | (charcode >> 6), + 0x80 | (charcode & 0x3f)); + } + else if (charcode < 0xd800 || charcode >= 0xe000) { + utf8.push(0xe0 | (charcode >> 12), + 0x80 | ((charcode>>6) & 0x3f), + 0x80 | (charcode & 0x3f)); + } + // surrogate pair + else { + i++; + charcode = ((charcode&0x3ff)<<10)|(str.charCodeAt(i)&0x3ff) + utf8.push(0xf0 | (charcode >>18), + 0x80 | ((charcode>>12) & 0x3f), + 0x80 | ((charcode>>6) & 0x3f), + 0x80 | (charcode & 0x3f)); + } + } + return utf8; + } +} \ No newline at end of file -- cgit v1.2.3