国密加密算法 java 样例_Java常用加密算法实例总结

本文实例总结了java常用加密算法。分享给大家供大家参考,具体如下:

项目中第一次深入地了解到加密算法的使用,现第一阶段结束,将使用到的加密算法和大家分享一下:

首先还是先给大家普及一下常用加密算法的基础知识

基本的单向加密算法

base64 严格地说,属于编码格式,而非加密算法

md5(message digest algorithm 5,信息摘要算法)

sha(secure hash algorithm,安全散列算法)

复杂的加密算法

rsa(算法的名字以发明者的名字命名:ron rivest, adishamir 和leonard adleman)

des/3des(digital signature algorithm,数字签名)

国密算法

sm2/sm4(是由国家密码管理局编制的一种商用密码分组标准对称算法)

使用方法:

base64

public static byte[] encode2base64(byte[] bytes) {

byte[] bts = base64.encodebase64(bytes);

return bts;

}

public static byte[] decode2base64(string str) {

byte[] bts = base64.decodebase64(str);

return bts;

}

md5

public static string md5(string str) {

try {

messagedigest digest = messagedigest.getinstance("md5");

return new string(digest.digest(str.getbytes()));

} catch (nosuchalgorithmexception e) {

e.printstacktrace();

}

return "";

}

sha-1

public static byte[] sha1tobytes(string str) {

try {

messagedigest digest = messagedigest.getinstance("sha-1");

byte[] bts = digest.digest(str.getbytes());

return bts;

} catch (exception e) {

e.printstacktrace();

}

return null;

}

des/3des

public static byte[] encryptmode(string keystr, byte[] src) {

try {

// 生成密钥

secretkey deskey = new secretkeyspec(keystr.getbytes(), "desede");

// 加密

cipher c1 = cipher.getinstance("desede");

c1.init(cipher.encrypt_mode, deskey);

return c1.dofinal(src);

} catch (java.security.nosuchalgorithmexception e1) {

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值