最近工作中需要使用Java中的内置加密算法的应用,在此把简单的代码和大家共享一下。
1. MD5
加密,常用于加密用户名密码,当用户验证时。没有解密的方法。
java 代码
- protected byte[] encrypt(byte[] obj) {
- try {
- MessageDigest md5 = MessageDigest.getInstance("MD5");
- md5.update(obj);
- return md5.digest();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
2. SHA加密,与MD5相似的用法,只是两者的算法不同。
java 代码
- protected byte[] encrypt(byte[] obj) {
- try {
- MessageDigest sha = MessageDigest.getInstance("SHA");
- sha.update(obj);
- return sha.digest();
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- }
3. RSA加密,RAS加密允许解密。常用于文本内容的加密。
java 代码
- import java.security.KeyPair;
- import java.security.KeyPairGenerator;
- import java.security.interfaces.RSAPrivateKey;
- import java.security.interfaces.RSAPublicKey;
-
- import javax.crypto.Cipher;
-
-
-
-
-
-
-
- public class RSAEncrypt {
-
-
-
-
-
- public static void main(String[] args) {
- try {
- RSAEncrypt encrypt = new RSAEncrypt();
-
- String encryptText = "encryptText";
- KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
- keyPairGen.initialize(1024);
- KeyPair keyPair = keyPairGen.generateKeyPair();
-
- RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
- RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
-
- byte[] e = encrypt.encrypt(publicKey, encryptText.getBytes());
- byte[] de = encrypt.decrypt(privateKey,e);
- System.out.println(encrypt.bytesToString(e));
- System.out.println(encrypt.bytesToString(de));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
-
-
-
- protected String bytesToString(byte[] encrytpByte) {
- String result = "";
- for (Byte bytes : encrytpByte) {
- result += (char) bytes.intValue();
- }
- return result;
- }
-
-
-
-
-
- protected byte[] encrypt(RSAPublicKey publicKey, byte[] obj) {
- if (publicKey != null) {
- try {
- Cipher cipher = Cipher.getInstance("RSA");
- cipher.init(Cipher.ENCRYPT_MODE, publicKey);
- return cipher.doFinal(obj);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- return null;
- }
-
-
-
-
-
- protected byte[] decrypt(RSAPrivateKey privateKey, byte[] obj) {
- if (privateKey != null) {
- try {
- Cipher cipher = Cipher.getInstance("RSA");
- cipher.init(Cipher.DECRYPT_MODE, privateKey);
- return cipher.doFinal(obj);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- return null;
- }
- }
加密算法还有很多,以后用到的话再加入。
分享到:
相关推荐
Java中常用的加密算法MD5,SHA,RSA
Java中常用的加密算法MD5,SHA,RSA.mht
base64/md5/RSA/SHA1等加密算法Java实现,附jar包,供学习参考使用
md5,aes,des,des3,rsa,sha,base64加密解密实例,含有所需jar包,注释详细,导入项目直接可用。
java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) ...1.MD5 2.SHA 3.MAC 四。数字签名:JDK实现 1.RSA 2.DSA 3.ECDSA 五。对称加密算法: 1.3DES 2.AES 3.PBE
java 加密算法包括:消息摘要(MD5、SHA)、对称加密算法(DES),非对称加密算法RSA,数字签名DSA
java加密算法源码 包括有AES DES MD5 RSA SHA加密和解密
继而,我们将介绍散列算法,包括MD5和SHA,最后,我们将介绍数字签名算法。 对称加密算法使用相同的密钥对数据进行加密和解密。DES(Data Encryption Standard)是一种最早的对称加密算法,使用56位密钥对数据...
Java中常用的加密算法应用,1. MD5加密,常用于加密用户名密码,当用户验证时。2. SHA加密,与MD5相似的用法,只是两者的算法不同。3. RSA加密,RAS加密允许解密。常用于文本内容的加密。
Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC Java加密技术(二)——对称加密算法DES&AES Java加密技术(三)——PBE算法 Java加密技术(四)——非对称加密算法RSA Java加密技术(五)——非对称加密...
Java中常用的加密算法主要有MD5,DES(对称加密),RSA(非对称加密),每一种加密算法有着各自的加密特点。(注意:本文为kotlin编码) 一.MD5 MD5全称Message_Digest Algorithm-5,即信息-摘要算法5,消息摘要是采用任意...
主要介绍了Java常用加密算法,结合实例形式总结分析了base64、md5、sha、rsa、des等加密算法实现技巧,需要的朋友可以参考下
另一个使用java编写的加密通用算法包,含des,rsa,sha,md5,md4,md2,idea,blowfish等很多加密算法和密钥存储、签名等源码
RSA-SHA384、RSA-SHA512、BLAKE2B512、MD4、MD5、MD5-SHA1、 MDC2、MDC2WITHRSA、SHA1、SHA224 、SHA256、SHA384、SHA 对称加密算法:AES、DES、IDEA、XXTEA等 非对称加密算法:RSA、SM(国产椭圆曲线密码)
● MD5(Message Digest algorithm 5,信息摘要算法) ● SHA(Secure Hash Algorithm,安全散列算法) ● HMAC(Hash Message Authentication Code,散列消息鉴别码) 复杂的对称加密(DES、PBE)、非对称加密算法: ...
java_security JAVA安全实现三种方式: ...1.MD5 2.SHA 3.MAC 四。数字签名:JDK实现 com.timliu.security.signature 1.RSA 2.DSA 3.ECDSA 五。对称加密算法:com.timliu.security.symmetric_encryption 1
Vive.Crypto(Vive.Crypto对各种常用的加密算法进行封装,有 Base64、对称加密(DES、3DES、AES、SM4)、非对称加密(RSA、SM2)、Hash(MD4、MD5、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、HMAC-SHA384、HMAC-SHA...
对称加密网络应用2427.8 小结254第8章高等数据加密—非对称加密算法2568.1 非对称加密算法简述2568.2 密钥交换算法—DH 2588.3 典型非对称加密算法—RSA 2698.4 常用非对称加密算法—ElGamal2778.5 实例:非对称加密...
包含Base64 ...包含摘要算法:MD2,MD4,MD5,SHA1,SHA2(SHA-224,SHA-256,SHA-384,SHA-512) 数字签名算法:RSA,DSA,ECDSA 详情请查看:http://blog.csdn.net/baidu_34012226/article/details/53331147
对称加密网络应用242 7.8 小结254 第8章高等数据加密—非对称加密算法256 8.1 非对称加密算法简述256 8.2 密钥交换算法—DH 258 8.3 典型非对称加密算法—RSA 269 8.4 常用非对称加密算法—ElGamal277 8.5 实例:非...