在Android(Java)中加密文本
请帮我更正代码。字符串未加密在Android(Java)中加密文本,java,android,Java,Android,请帮我更正代码。字符串未加密 private static String Encrypt(String val) { int len = val.length(); int[] k = new int[len]; for (int n = 0; n < (len-1); n++) k[n] += 5; val = k.toString(); return val; } 私有
private static String Encrypt(String val)
{
int len = val.length();
int[] k = new int[len];
for (int n = 0; n < (len-1); n++)
k[n] += 5;
val = k.toString();
return val;
}
私有静态字符串加密(字符串val)
{
int len=val.length();
int[]k=新的int[len];
对于(int n=0;n<(len-1);n++)
k[n]+=5;
val=k.toString();
返回val;
}
您正在向尚未初始化的数组中添加5,这意味着它包含所有零
我猜你是想实施这个计划?为此,原始字符串应该出现在某个地方。此外,不能更改字符串的值。此外,您应该考虑在255周围包装,以便不超出有效字符范围(0…255)之外。
功能的工作版本可能如下所示:
private static String Encrypt(String val) {
StringBuffer sb;
for (int n = 0; n < val.length(); n++) {
sb.Append((char)((val.charAt(n) + 5) % 255));
}
sb.toString();
}
private static String Encrypt(String val) {
int len = val.length();
char[] k = new char[len];
for (int n = 0; n < len; n++) {
k[n] = (char)(val.charAt(n) + 5);
}
return new String(k);
}
私有静态字符串加密(字符串val){
对某人施加压力;
对于(int n=0;n
两个旁注:
k[n]=…
,但缩进表明不是这样您正在使用未初始化的数组。您应该使用来自输入
字符串的char
值
此外,您正在将int[]
转换为String
错误。应该是这样的:
private static String Encrypt(String val) {
StringBuffer sb;
for (int n = 0; n < val.length(); n++) {
sb.Append((char)((val.charAt(n) + 5) % 255));
}
sb.toString();
}
private static String Encrypt(String val) {
int len = val.length();
char[] k = new char[len];
for (int n = 0; n < len; n++) {
k[n] = (char)(val.charAt(n) + 5);
}
return new String(k);
}
哈,你到底想实现什么?你明白加密和编码的区别吗?非常感谢你的信息。。在这里,我有一个任务,以增加5个字母在每个字(需要加密和解密)。所以我试着去做。我会检查并让你知道。对不起,如果我错了。嗨,我也得到了这个代码的错误。因为我为安卓工作。当我调试和模拟器时,它的抛出错误力关闭。如果我去掉这个,它会工作的很好。非常感谢。。我正在检查这个。将向您更新statushi here K赋值不允许“返回新字符串(K)”;它的抛出错误将“K”删除。现在这里也将其设置为“返回K.toString();”。但是它没有得到加密。。请帮助它应该返回新字符串(k)代码>。只是复制粘贴整个功能,它的工作。嗨。。我得到1234的输出——”@|@8@A@..:(为您的代码。