加密算法实列
1.1 随机加密的方式,算难破解的他们要一个一个去试,还有更难破解的又要根据他名字还要根据他密码来破解,我这个加密很简单的,方便理解怎样去使用,学会我这种思路去加密也够用了。
public class atrAES {
public static String encryptSHA(String password){
try {
MessageDigest md=MessageDigest.getInstance("SHA-256");
md.update(password.getBytes());
byte[] bytes=md.digest();
StringBuffer sb=new StringBuffer();
for (byte b:bytes){
sb.append(String.format("%02x",b));
int random=(int)(Math.random()*(99999-10000)+10000);
sb.append(random);
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String s = encryptSHA("123456");
System.out.println(s);
}
}
2.1 概述
对于任意长度的消息,SHA256都会产生一个256位的哈希值,称作消息摘要。
2.2 对称加密
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密,这种方法在密码学中叫做对称加密算法,对称加密简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA)
2.3 非对称加密
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
2.4 对称加密与非对称加密的区别
1 加密以及解密过程不一样
2 加密以及解密速度不一样
3 两者传输的安全性不一样