javaDES加密算法

创建一个主函数测试

注意:这里需要导入两个架包。Hex.encodeHex(secretkey.getEncoded())把秘钥转为字符串,方便查看。注意代码中出现Hex的地方

commons-codec-1.11.jar

commons-lang3-3.7.jar

  public static void main(String[] args) throws Exception {
        
        String data = "跳梁小豆tlxd666";//需要被加密的数据
        
        //创建秘钥生成器                           算法名称
        KeyGenerator kg = KeyGenerator.getInstance("DES");
        
        kg.init(56);//初始化秘钥长度
        SecretKey secretkey = kg.generateKey();//通过秘钥生成器生成秘钥
        String str = new String(Hex.encodeHex(secretkey.getEncoded()));//把秘钥转为字符串,方便查看
        System.out.println("秘钥:"+str);
        
        //加密工作
        Cipher cipher = Cipher.getInstance("DES");//Cipher作用完成加密和解密工作的
        cipher.init(Cipher.ENCRYPT_MODE, secretkey);//初始化,加密模式,秘钥
        byte[] b = cipher.doFinal(data.getBytes());//加密,得到一个新的字符数组
        str = new String(Hex.encodeHex(b));
        System.out.println("加密后:"+str);
        
        //解密工作
        cipher.init(Cipher.DECRYPT_MODE,secretkey);//初始化,解密模式,秘钥
        byte[] b2 = cipher.doFinal(b);
        String result = new String(b2);
        System.out.println("解密后:"+result);
    }

 

posted @ 2018-09-26 19:05  跳梁小豆  阅读(473)  评论(0编辑  收藏  举报