簡體   English   中英

Javascript中的XOR密碼解密

[英]XOR cipher decryption in Javascript

我有一個必須解碼的base64字符串,即AwELBwc= 使用給我的XOR密碼密鑰26364 ,我必須對字符串進行解碼以獲取一個我已經知道的數字( 7813 )。

如何在Javascript中完成此操作,在Javascript中,您使用base64編碼的字符串,通過具有已知密鑰的XOR密碼運行它,然后輸出結果?

此代碼應執行您想要的操作:

 function base64ToArray(base64String) { var bstr = atob(base64String); var bytes = []; for (var i = 0; i < bstr.length; i++) { bytes.push(bstr.charCodeAt(i)); } return bytes; } let key = [2,6,3,6,4]; let cipherTextBase64 = 'AwELBwc='; let cipherTextBytes = base64ToArray(cipherTextBase64); let result = key.map((value,index) => { return value ^ cipherTextBytes[index]; }); document.getElementById('output').innerHTML = 'Result: ' + result.join(); console.log('Result: ', result); 
 <div id="output"> </div> 

下面的功能是由Terry Lennox在回答中使用的異或字符方法啟發的。

 function xorDecryptBase64(base64string, cipher) { let keys = cipher.toString().split(''); let charCodes = atob(base64string).split('') .map(function(c){return c.charCodeAt(0)}); return Number(charCodes .map(function(v,i){return v ^ keys[i%keys.length]}) .slice(1).join('') ); } console.log(xorDecryptBase64('AwELBwc=', 26364)); console.log(xorDecryptBase64('AwAFAAIEAA==', 26364)); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM