Last active
October 10, 2024 19:44
-
-
Save joecliff/10948117 to your computer and use it in GitHub Desktop.
An example of base64 usage in cryptojs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var CryptoJS = require("crypto-js");//replace thie with script tag in browser env | |
//encrypt | |
var rawStr = "hello world!"; | |
var wordArray = CryptoJS.enc.Utf8.parse(rawStr); | |
var base64 = CryptoJS.enc.Base64.stringify(wordArray); | |
console.log('encrypted:', base64); | |
//decrypt | |
var parsedWordArray = CryptoJS.enc.Base64.parse(base64); | |
var parsedStr = parsedWordArray.toString(CryptoJS.enc.Utf8); | |
console.log("parsed:",parsedStr); |
awesooooom
this saves my day a lot, thanks!
Hallo can someone explain me the flow also how to decrypt back, if that was encrypted this way?
i am confused currently as still new to cryptography
// Code Section
{
function encrypt(data) {
const val = cryptoJS.enc.Utf8.parse(JSON.stringify(data));
const encrypted = cryptoJS.AES.encrypt(val, key, { iv: IV }).toString();
let b64 = cryptoJS.enc.Base64.parse(encrypted).toString(cryptoJS.enc.Hex);
return b64;
}
}
This gist saved me! Thank you so much!
thanks for this
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Someone may find it useful.
I noticed that Kubernetes encodes ssh private and public keys in its secrets (may SSL keys too) with base64 adding the trailing line at the end of a key.
For example, CryptoJS works the way similar to
-n
means that it does not add a trailing line. While keys in Kubernetes are encoded using a trailing line at the end (you can see a different result)So to make sure the keys are encoded the way it is meant by Kubernetes I tried the solution in Postman with a new line character -
(plainText + '\n')
: