gpt4 book ai didi

javascript - 使用javascript进行自定义加密(卡在解密功能中)

转载 作者:行者123 更新时间:2023-11-30 19:46:16 25 4
gpt4 key购买 nike

我想用 javascript 制作新的自定义加密引擎,但在制作解密功能时遇到问题。在我的解密函数中,我不明白如何将 3 个字符转换为 1 个字符。在解密函数部分,我不想要的大小写的3个字符正在转换为返回的字符。

如果你需要我的完整代码,我可以在这里分享。

所以请帮我解决这个问题。抱歉我的英语不好:)

<body>
<h3>Encrypt and Decrypt</h3>
<!-- Encrypt -->
<!-- <input placeholder="Ketikan sesuatu disini, pasti bisa:v" id="input"><br>
<button onclick="encrypt()">Encrypt</button> -->
<!-- Decrypt -->
<br><input placeholder="Ketikan sesuatu disini, pasti bisa:v" id="input2"><br>
<button onclick="decrypt()">Decrypt</button>
<!-- Result -->
<div id="result"></div>
<!-- Enginenya -->
<script>
function encrypt(){
var rawtext = document.getElementById("input").value;
var temptext = "";
for(i = 0; i < rawtext.length; i++){
temptext += enc(rawtext[i]);
}
document.getElementById("result").innerHTML = temptext;
}
function decrypt(){
var rawtext = document.getElementById("input2").value;
var temptext = "";
for(i = 0; i < rawtext.length; i++){
temptext += dec(rawtext[i]);
}
document.getElementById("result").innerHTML = temptext;
}
function enc(x){
switch(x){
case " " :
return " ";
break;

case "A" :
return "+/=";
break;

case "B" :
return "36=";
break;
}
}
function dec(x){
switch(x){
case "+/=" :
return "A";
break;

case "36=" :
return "B";
break;
}
}
</script>
</body>

最佳答案

您正在遍历单个字符并将它们传递给 dec(),例如。如果您输入“+/=”,您实际上是在调用 dec('+') 然后是 dec('/') 然后是 dec('=')

解密输入的值时,您必须将它们分成 3 组,然后传递它们。

function decrypt(){
var rawtext = document.getElementById("input2").value;
var temptext = "";

for(i = 0, charsLength = rawtext.length; i < charsLength; i += 3){
temptext += dec(rawtext.substring(i, i + 3));
}

document.getElementById("result").innerHTML = temptext;
}

关于javascript - 使用javascript进行自定义加密(卡在解密功能中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54915429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com