java - 使用按位运算符对密码类进行编码

标签 java encode bitwise-operators

如何修改以下程序,使其使用八个字符的字符串作为键?

public class SelfTest {

    public static void main(String[] args) {
        String msg = "This is a test";
        String encmsg = "";
        String decmsg = "";
        int key = 88;
        System.out.println("Original msg: " + msg);
        for(int i=0; i< msg.length(); i++){
            encmsg = encmsg + (char) (msg.charAt(i)^key);
        }
        System.out.println("Encode msg: " + encmsg);

    }
}

最佳答案

您可以单独使用键中的每个字符,并在完成后将其环绕起来。例如:

for(int i=0; i< msg.length(); i++){
        encmsg = encmsg + 
                 (char) (msg.charAt(i) ^ (key.charAt(i % key.length())));
    }

关于java - 使用按位运算符对密码类进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701438/

相关文章:

java - 比较Java中的List元素

python - python 3.6中的编码解码字符串不起作用?

bit-manipulation - 如何将单个掩码给出的一位值复制到一个字(('transplant')?

java - "Java 1.7 TLS 1.2 server"和 "Java 1.6 client"之间的 SSL/TLS 握手

java - 如何将自定义任务添加到 Eclipse Gradle 任务选项卡?

java - 在 web-xml 和文件系统 (tomcat) 中添加新的 servlet 类

python - Perl 相当于 python 编码和 gzip

php - 将 PHP 变量编码为 URL 链接

c# - 这段 C# 代码中的 "&="有什么作用?

java - 是否值得在方法中使用位运算符?