• ADADADADAD

    java如何给链接数据库加密[ 网络知识 ]

    网络知识 时间:2024-11-20 12:07:39

    作者:文/会员上传

    简介:

    在java中使用DES算法对数据库进行加密,具体方法如下:import java.security.Key;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGene

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在java中使用DES算法对数据库进行加密,具体方法如下:

    import java.security.Key;

    import java.security.SecureRandom;

    import javax.crypto.Cipher;

    import javax.crypto.KeyGenerator;

    import sun.misc.BASE64Decoder;

    import sun.misc.BASE64Encoder;

    public class DESUtils {

    private static Key key;

    // 设置密钥key

    private static String KEY_STR = "myKey";

    private static String CHARSETNAME = "UTF-8";

    private static String ALGORITHM = "DES";

    // 静态代码块

    static {

    try {

    // 生成DES算法对象

    KeyGenerator generator = KeyGenerator.getInstance(ALGORITHM);

    // 运用SHA1安全策略

    SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");

    // 设置上密钥种子

    secureRandom.setSeed(KEY_STR.getBytes());

    // 初始化基于SHA1的算法对象

    generator.init(secureRandom);

    // 生成密钥对象

    key = generator.generateKey();

    generator = null;

    } catch (Exception e) {

    throw new RuntimeException(e);

    }

    }

    /**

    * 获取加密后的信息

    *

    * @param str

    * @return

    */

    public static String getEncryptString(String str) {

    // 基于BASE64编码,接收byte[]并转换为String

    BASE64Encoder base64encoder = new BASE64Encoder();

    try {

    // 按UTF-8编码

    byte[] bytes = str.getBytes(CHARSETNAME);

    // 获取加密对象

    Cipher cipher = Cipher.getInstance(ALGORITHM);

    // 初始化密码信息

    cipher.init(Cipher.ENCRYPT_MODE, key);

    // 加密

    byte[] doFinal = cipher.doFinal(bytes);

    // byte[] to encode好的String并返回

    return base64encoder.encode(doFinal);

    } catch (Exception e) {

    // TODO: handle exception

    throw new RuntimeException(e);

    }

    }

    /**

    * 获取解密后的信息

    *

    * @param str

    * @return

    */

    public static String getDecryptString(String str) {

    //基于BASE64编码,接收byte[]并转换为String

    BASE64Decoder base64decoder = new BASE64Decoder();

    try {

    //将字符串decode为byte[]

    byte[] bytes = base64decoder.decodeBuffer(str);

    //获取解密对象

    Cipher cipher = Cipher.getInstance(ALGORITHM);

    //初始化解密信息

    cipher.init(Cipher.DECRYPT_MODE, key);

    //解密

    byte[] doFinal = cipher.doFinal(bytes);

    //返回解密之后的信息

    return new String(doFinal, CHARSETNAME);

    } catch (Exception e) {

    // TODO: handle exception

    throw new RuntimeException(e);

    }

    }

    public static void main(String[] args) {

    System.out.println(getEncryptString("root"));

    System.out.println(getEncryptString("123654"));

    }

    }

    java如何给链接数据库加密.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: Java数据库