gpt4 book ai didi

javascript - 如何使用 "java script"进行加密并使用 "java"进行解密

转载 作者:行者123 更新时间:2023-12-03 05:53:48 25 4
gpt4 key购买 nike

我正在尝试使用下面的方法加密java脚本中的“url”

var s='';
for(var i=0;i<origUrl.length;i++)
{
var c=origUrl.charCodeAt(i);

if(c != ' ')
{
c=String.fromCharCode(c + 47);

if( c > '~')
{
c=String.fromCharCode(c - 94);
}
}
s=s.concat(c);
}

为了在java中解密,我使用下面的代码

 public static String rotate(String value)
{
int length = value.length();
String result = "";

for (int i = 0; i < length; i++)
{
char c = value.charAt(i);

// Process letters, numbers, and symbols -- ignore spaces.
if (c != ' ')
{
c += 47;

if (c > '~')
c -= 94;
}

result=result+c;
}

return result.toString();
}

两个代码都有相同的逻辑,但它对我不起作用,这意味着当我将 java 脚本生成的字符串传递到服务器端并进行解密时,我没有得到我期望的正确字符串。

另一方面,如果我在 java 独立应用程序中执行此逻辑,那么它对我有用。

请检查下面

String url = "https://abcd.com";

System.out.println(url);

String encode = rotate(url);

System.out.println(encode);

String decode = rotate(encode);

System.out.println(decode);

和输出

https://abcd.com
9EEADi^^2345]4@>
https://abcd.com

最佳答案

您的 JavaScript 代码不正确......我得到了垃圾值...

    <script>
function getval(origUrl){
///from here
var s='';
for(var i=0;i<origUrl.length;i++)
{
var j=origUrl.charCodeAt(i); // here in you are storing integer in j.
var k='';
if(j != ' ') // don't compare " " with j because j contains integer
{
k=String.fromCharCode(j + 47);

if( j > '~') // here too j contains integer...
///you cann use String.fromCharCode(j); that is ok
{
k=String.fromCharCode(c - 94); //where the variable c is declared???
}
}
s=s.concat(k);
}
// upto here source code is same...as you provided...
return s;
}

var text="https://abcd.com";
alert(text);
alert(getval(text));
alert(getval(getval(text)));
</script>

关于javascript - 如何使用 "java script"进行加密并使用 "java"进行解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028953/

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