Browse Source

Merge pull request #160 from Philreact/feature/encrypt-decrypt-data-qapp

bugfix/encrypt decrypt data qapp
pull/161/head^2
AlphaX-Projects 1 year ago committed by GitHub
parent
commit
203d38e3a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      qortal-ui-plugins/plugins/core/components/qdn-action-encryption.js

10
qortal-ui-plugins/plugins/core/components/qdn-action-encryption.js

@ -3,21 +3,22 @@ import ed2curve from '../../../../qortal-ui-crypto/api/deps/ed2curve.js'
export function uint8ArrayToBase64(uint8Array) {
const length = uint8Array.length;
let base64String = '';
let binaryString = '';
const chunkSize = 1024 * 1024; // Process 1MB at a time
for (let i = 0; i < length; i += chunkSize) {
const chunkEnd = Math.min(i + chunkSize, length);
const chunk = uint8Array.subarray(i, chunkEnd);
const binaryString = chunk.reduce((acc, byte) => acc + String.fromCharCode(byte), '');
base64String += btoa(binaryString);
binaryString += Array.from(chunk, byte => String.fromCharCode(byte)).join('');
}
return base64String;
return btoa(binaryString);
}
export function base64ToUint8Array(base64) {
const binaryString = atob(base64)
const len = binaryString.length
@ -71,6 +72,7 @@ export const encryptData = ({ data64, recipientPublicKey }) => {
combinedData.set(nonce, strUint8Array.length);
combinedData.set(encryptedData, strUint8Array.length + nonce.length);
const uint8arrayToData64 = uint8ArrayToBase64(combinedData)
return {

Loading…
Cancel
Save