java 加密技术(二)

本文是Java加密技术的第二部分,重点介绍了对称加密算法,包括DES、三重DES、AES和PBE。DES因安全性较低已被弃用,而AES成为更广泛使用的加密标准。PBE结合了消息摘要和对称加密的优势。文章提供了相应的代码实现,并鼓励读者发现错误或提出疑问。
摘要由CSDN通过智能技术生成

java 加密技术(二)

1 对称加密算法

1.1 介绍
  • 对称加密算法是说加密秘钥与解密秘钥使用的是同一把.
  • 他是属于初等(初级)加密算法, 使用范围广,使用频率高 .
  • 常用对称加密算法有
    • DES
    • 3DES
    • AES
    • PBE
    • IDEA

2 DES算法

2.1 介绍

DES (Data Encryption Standard) 数据加密标准. 由美国国家标准性研究所提供, 但是自98年之后,已经被破解,安全性较差. 所以现在项目中不推荐使用DES.
默认秘钥长度56位

2.2 代码实现
package secret;

import java.security.NoSuchAlgorithmException;

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;

import org.apache.commons.codec.binary.Hex;

public class DESTest {

    public static String src ="i am gc DES";

    public static void main(String[] args) {
        System.out.println("====jdkDES实现====");
        jdkDES();
        System.out.println("=================");

        //运行结果
        /*
         ====jdkDES实现====
        生成的DES秘钥:e5312a52d93b8325
        加密之后的结果0b980d14f67e7e2dbf3bf45e5edc5c11
        解密之后的结果:i am gc DES
        =================
         */
    }

    public static void jdkDES(){
        try {
            //由DES算法生成算法生成器KeyGenerator
            KeyGenerator keyGenerator = KeyGenerator.getInstance("DES");
            //由算法生成器生成秘钥
            SecretKey secretKey =  keyGenerator.generateKey();
            //将秘钥转成byte数组
            byte[] byteKey = secretKey.getEncoded();
            //将byte数组十六进制转换成字符串
            System.out.println("生成的DES秘钥:"+Hex.encodeHexString(byteKey));

            //加密
            Cipher cipher = Cipher.getInstance("DES");
            //加密初始化,传入加密模式和秘钥
            cipher.init
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值