1. MD5加密,常用于加密用户名密码,当用户验证时。} } 2. SHA加密,与MD5相似的用法,只是两者的算法不同。} } 3. RSA加密,RAS加密允许解密。常用于文本内容的加密。
1. MD5加密,常用于加密用户名密码,当用户验证时。
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相似的用法,只是两者的算法不同。
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加密允许解密。常用于文本内容的加密。
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import javax.crypto.Cipher; /** *//**
* RSAEncrypt
*
* @author maqujun
* @see
*/
public class RSAEncrypt ...{
/** *//**
* Main method for RSAEncrypt.
* @param args
*/
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();
// Generate keys
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();
}
}
/** *//**
* Change byte array to String.
* @return byte[]
*/
protected String bytesToString(byte[] encrytpByte) ...{
String result = "";
for (Byte bytes : encrytpByte) ...{
result += (char) bytes.intValue();
}
return result;
}
/** *//**
* Encrypt String.
* @return byte[]
*/
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;
}
/** *//**
* Basic decrypt method
* @return byte[]
*/
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包,供学习参考使用
1.java-RSA加密解密 2.java-zip加密压缩 3.js数据加密MD5 SHA1 RSA 里面都有使用方法和jar包、js,
继而,我们将介绍散列算法,包括MD5和SHA,最后,我们将介绍数字签名算法。 对称加密算法使用相同的密钥对数据进行加密和解密。DES(Data Encryption Standard)是一种最早的对称加密算法,使用56位密钥对数据...
md5,aes,des,des3,rsa,sha,base64加密解密实例,含有所需jar包,注释详细,导入项目直接可用。
用eclipse实现生成消息认证码、数字签名、加密流程及其可视化,包含可执行文件和源代码、流程演示,可以分开利用标题所述功能也可串在一起实现完整的保密消息传输过程。
Java中常用的加密算法应用,1. MD5加密,常用于加密用户名密码,当用户验证时。2. SHA加密,与MD5相似的用法,只是两者的算法不同。3. RSA加密,RAS加密允许解密。常用于文本内容的加密。
java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) ...1.MD5 2.SHA 3.MAC 四。数字签名:JDK实现 1.RSA 2.DSA 3.ECDSA 五。对称加密算法: 1.3DES 2.AES 3.PBE
Java中常用的加密算法主要有MD5,DES(对称加密),RSA(非对称加密),每一种加密算法有着各自的加密特点。(注意:本文为kotlin编码) 一.MD5 MD5全称Message_Digest Algorithm-5,即信息-摘要算法5,消息摘要是采用任意...
java 加密算法包括:消息摘要(MD5、SHA)、对称加密算法(DES),非对称加密算法RSA,数字签名DSA
java加密算法源码 包括有AES DES MD5 RSA SHA加密和解密
Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC Java加密技术(二)——对称加密算法DES&AES Java加密技术(三)——PBE算法 Java加密技术(四)——非对称加密算法RSA Java加密技术(五)——非对称加密...
加密解密 java RSA MD5 SHA256 SHA512
JAVA对DEC RSA MD5 SHA 等对称和非对称加密解密方法进行封装,可直接调用
另一个使用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(国产椭圆曲线密码)
主要介绍了Java常用加密算法,结合实例形式总结分析了base64、md5、sha、rsa、des等加密算法实现技巧,需要的朋友可以参考下
Java加密解密源代码大全,包括:des、rsa、sha、 base64、md5、dhe
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...