Java加密算法笔记

来源:互联网 发布:seo软件工具 编辑:程序博客网 时间:2024/06/04 17:41

看完各种文档,终于理解加密体系了。这个学习过程中,一个帮助是java官网,还有java核心技术 卷二。


公钥、私钥:

这是一对有数学关系的两个数,公钥用于公开,私钥自己保留。公钥无法推算出私钥,私钥可以推算出公钥。公钥、私钥都可以加密,加密只是使用了一个数字。


所以Java的程序实现是分为两步的,第一步生成Key值,第二部用加密算法加密。


下面是个对称加密AES算法。

    public static void testCipher(){        try {            KeyGenerator generator = KeyGenerator.getInstance("AES");            SecureRandom random = new SecureRandom();            generator.init(random);            SecretKey key = generator.generateKey();            Cipher enCipher = Cipher.getInstance("AES");            enCipher.init(Cipher.ENCRYPT_MODE, key);            enCipher.update(bytes);            cipherData = enCipher.doFinal();            for (byte data : cipherData) {            System.out.print(data);}            System.out.println("/n");                        Cipher deCipher = Cipher.getInstance("AES");            deCipher.init(Cipher.DECRYPT_MODE, key);            deCipher.update(cipherData);            deCipherData = deCipher.doFinal();                        for (byte data : deCipherData) {            System.out.print(data);}                    } catch (Exception e){e.printStackTrace();}    }




0 0
原创粉丝点击