Now wrapping up...
This commit is contained in:
@@ -17,6 +17,8 @@ export let encrypt_content = async function encrypt_content(
|
||||
return { base64, iv };
|
||||
}
|
||||
|
||||
|
||||
// This does not handle errors (invalid key/password) well.
|
||||
export let decrypt_content = async function decrypt_content(
|
||||
base64Content: string, iv: Uint8Array, keyData: string
|
||||
) {
|
||||
|
||||
@@ -131,7 +131,7 @@ $effect(() => {
|
||||
tmp_entry_obj_changed = true;
|
||||
// }
|
||||
} else {
|
||||
console.log('TEST: tmp_entry_obj == orig_entry_obj');
|
||||
// console.log('TEST: tmp_entry_obj == orig_entry_obj');
|
||||
tmp_entry_obj_changed = false;
|
||||
}
|
||||
});
|
||||
@@ -168,11 +168,12 @@ async function update_journal_entry() {
|
||||
};
|
||||
|
||||
if (tmp_entry_obj?.content && tmp_entry_obj?.private) {
|
||||
console.log('TEST: Saving encrypted content', tmp_entry_obj?.content);
|
||||
// console.log('TEST: Saving encrypted content', tmp_entry_obj?.content);
|
||||
content = tmp_entry_obj?.content;
|
||||
// console.log('TEST: journal_key', journal_key);
|
||||
|
||||
// Encrypt the content
|
||||
let encrypted_base64 = await ae_util.encrypt_content(content, test_key);
|
||||
let encrypted_base64 = await ae_util.encrypt_content(content, journal_key);
|
||||
encrypted_base64_content = encrypted_base64.base64;
|
||||
encryption_iv = encrypted_base64.iv;
|
||||
console.log(`IV: ${encryption_iv}; Encrypted: ${encrypted_base64_content}`);
|
||||
@@ -184,7 +185,7 @@ async function update_journal_entry() {
|
||||
data_kv.content = null;
|
||||
decrypted_content = '';
|
||||
} else if (decrypted_content && !tmp_entry_obj?.private) {
|
||||
console.log('TEST: Saving decrypted content', decrypted_content);
|
||||
// console.log('TEST: Saving decrypted content', decrypted_content);
|
||||
content = decrypted_content;
|
||||
|
||||
data_kv.content = content;
|
||||
@@ -283,13 +284,25 @@ async function change_journal_id() {
|
||||
// await ae_util.decrypt_content(base64, iv, keyData);
|
||||
// })();
|
||||
|
||||
const test_key = "my-secret-key";
|
||||
let content = "This is my test content to encrypt and decrypt.";
|
||||
// let journal_key: string = $state( 'my-secret-key-111');
|
||||
// let journal_key: string = $state($lq__journal_obj?.passcode);
|
||||
let journal_key = $derived(() => {
|
||||
return $lq__journal_obj?.passcode || 'my-secret-key-111';
|
||||
});
|
||||
// console.log('TEST: journal_key', journal_key);
|
||||
let content = ''; // "This is my test content to encrypt and decrypt.";
|
||||
let encrypted_base64_content: string = $state('');
|
||||
let encryption_iv: null|Uint8Array<ArrayBuffer> = $state(null);
|
||||
let decrypted_content: string = $state('');
|
||||
let trigger_decrypt: boolean = $state(false);
|
||||
|
||||
$effect(() => {
|
||||
if ($lq__journal_obj?.passcode) {
|
||||
console.log('TEST: lq__journal_obj?.passcode', $lq__journal_obj?.passcode);
|
||||
journal_key = $lq__journal_obj?.passcode;
|
||||
}
|
||||
});
|
||||
|
||||
$effect(async () => {
|
||||
if (tmp_entry_obj?.content_encrypted && trigger_decrypt) {
|
||||
trigger_decrypt = false;
|
||||
@@ -302,8 +315,21 @@ $effect(async () => {
|
||||
console.log(`IV: ${encryption_iv}; Encrypted: ${encrypted_base64_content}`);
|
||||
}
|
||||
|
||||
let decrypted = await ae_util.decrypt_content(encrypted_base64_content, encryption_iv, test_key);
|
||||
let decrypted: string|null = null;
|
||||
try {
|
||||
decrypted = await ae_util.decrypt_content(encrypted_base64_content, encryption_iv, journal_key);
|
||||
} catch (error) {
|
||||
console.error('Error decrypting content:', error);
|
||||
alert('Failed to decrypt content. Please check the passcode.');
|
||||
return;
|
||||
}
|
||||
// let decrypted = await ae_util.decrypt_content(encrypted_base64_content, encryption_iv, journal_key);
|
||||
// decrypted_content = 'XXX '+decrypted+' XXX';
|
||||
|
||||
if (!decrypted) {
|
||||
alert('Failed to decrypt content. Please check the passcode.');
|
||||
return;
|
||||
}
|
||||
decrypted_content = decrypted;
|
||||
if (log_lvl) {
|
||||
console.log('Decrypted content:', decrypted_content);
|
||||
@@ -318,11 +344,11 @@ $effect(async () => {
|
||||
// if (tmp_entry_obj?.content) {
|
||||
// content = tmp_entry_obj?.content;
|
||||
|
||||
// let encrypted_base64 = await ae_util.encrypt_content(content, test_key);
|
||||
// let encrypted_base64 = await ae_util.encrypt_content(content, journal_key);
|
||||
// encrypted_base64_content = encrypted_base64.base64;
|
||||
// encryption_iv = encrypted_base64.iv;
|
||||
|
||||
// let decrypted = await ae_util.decrypt_content(encrypted_base64_content, encryption_iv, test_key);
|
||||
// let decrypted = await ae_util.decrypt_content(encrypted_base64_content, encryption_iv, journal_key);
|
||||
// decrypted_content = decrypted;
|
||||
// if (log_lvl) {
|
||||
// console.log('Decrypted content:', decrypted_content);
|
||||
@@ -880,15 +906,15 @@ $effect(async () => {
|
||||
{/if}
|
||||
</article>
|
||||
<!-- {@html async () => {
|
||||
const { base64, iv } = await encrypt_content(content, test_key);
|
||||
const { base64, iv } = await encrypt_content(content, journal_key);
|
||||
// console.log('Encrypted content:', base64);
|
||||
// console.log('IV:', iv);
|
||||
const decryptedContent = await decrypt_content(base64, iv, test_key);
|
||||
const decryptedContent = await decrypt_content(base64, iv, journal_key);
|
||||
// console.log('Decrypted content:', decryptedContent);
|
||||
return base64;
|
||||
}} -->
|
||||
|
||||
<!-- {@html encrypt_content($lq__journal_entry_obj?.content, test_key)} -->
|
||||
<!-- {@html encrypt_content($lq__journal_entry_obj?.content, journal_key)} -->
|
||||
<!-- --{@html encrypted_base64_content}-- -->
|
||||
<!-- {@html marked.parse($lq__journal_entry_obj?.content)} -->
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user