mirror of
				https://github.com/TeamPiped/Piped.git
				synced 2024-08-14 23:57:27 +00:00 
			
		
		
		
	Add key generation and base64 encoding and decoding utils.
This commit is contained in:
		
							parent
							
								
									bd7de9f94e
								
							
						
					
					
						commit
						89e8a3b80e
					
				
					 1 changed files with 17 additions and 0 deletions
				
			
		| 
						 | 
					@ -17,3 +17,20 @@ export async function decryptAESGCM(ciphertextArray, key) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return decrypted;
 | 
					    return decrypted;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export async function generateKey() {
 | 
				
			||||||
 | 
					    const algorithm = { name: "AES-GCM", length: 256 };
 | 
				
			||||||
 | 
					    const key = await crypto.subtle.generateKey(algorithm, true, ["encrypt", "decrypt"]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return await crypto.subtle.exportKey("raw", key);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function encodeArrayToBase64(array) {
 | 
				
			||||||
 | 
					    const chars = String.fromCharCode.apply(null, array);
 | 
				
			||||||
 | 
					    return btoa(chars);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export function decodeBase64ToArray(base64) {
 | 
				
			||||||
 | 
					    const chars = atob(base64);
 | 
				
			||||||
 | 
					    return new Uint8Array(chars.split("").map(c => c.charCodeAt(0)));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue