加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

我在哪里可以找到Vigenere密码的Java源代码?

发布时间:2020-12-14 23:45:37 所属栏目:Java 来源:网络整理
导读:在我的应用程序中,我想实现一些加密.因此我需要Vigenere密码的代码.有谁知道我在哪里可以找到 Java的源代码? 解决方法 这是Vigenere密码类,你可以使用它,只需调用加密和解密函数: 代码来自 Rosetta Code. public class VigenereCipher { public static voi
在我的应用程序中,我想实现一些加密.因此我需要Vigenere密码的代码.有谁知道我在哪里可以找到 Java的源代码?

解决方法

这是Vigenere密码类,你可以使用它,只需调用加密和解密函数:
代码来自 Rosetta Code.
public class VigenereCipher {
    public static void main(String[] args) {
        String key = "VIGENERECIPHER";
        String ori = "Beware the Jabberwock,my son! The jaws that bite,the claws that catch!";
        String enc = encrypt(ori,key);
        System.out.println(enc);
        System.out.println(decrypt(enc,key));
    }

    static String encrypt(String text,final String key) {
        String res = "";
        text = text.toUpperCase();
        for (int i = 0,j = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c < 'A' || c > 'Z') continue;
            res += (char)((c + key.charAt(j) - 2 * 'A') % 26 + 'A');
            j = ++j % key.length();
        }
        return res;
    }

    static String decrypt(String text,j = 0; i < text.length(); i++) {
            char c = text.charAt(i);
            if (c < 'A' || c > 'Z') continue;
            res += (char)((c - key.charAt(j) + 26) % 26 + 'A');
            j = ++j % key.length();
        }
        return res;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读