[英]decoding an encrypted string in java
我正在尝试解码下面的函数编码的字符串。 我尝试通过执行c -= ci
来反转加密,但是它似乎不起作用。 谁能解释一下它是如何工作的?
public static String encode(String message){
StringBuilder b = new StringBuilder();
for(int i = 0;i<message.length();i++){
char c = message.charAt(i);
b.append(c += c+i);
}
return b.reverse().toString();
}
您的编码是可逆的(对于小消息和一些字符集),但是您的公式不正确。 首先,反转消息(以进行解码)。 然后迭代字符。 从当前值减去i
,然后除以2
。 喜欢,
public static String decode(String message) {
StringBuilder b = new StringBuilder(message).reverse();
StringBuilder o = new StringBuilder();
for (int i = 0; i < b.length(); i++) {
char c = b.charAt(i);
c -= i;
c /= 2;
o.append(c);
}
return o.toString();
}
数学: c += c + i
; 等于c = (2 * c) + i
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.