繁体   English   中英

用Java解码加密的字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM