ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

login加密(MD5)全面java文档

2021-11-19 10:32:30  阅读:232  来源: 互联网

标签:加密 字节 生成器 秘钥 new java login Security MD5


关于java加密技术
1.所谓加密就是让信息数据更安全
明文===》进行转换
基本思路就是给原数据变成字节然后增加或者删除一定ascii值
替换 
比如:     hello world 
  3  秘钥  khoor zruog 
转换
       hello
       idnjr  
秘钥:[1,-1,2,-2,3] 数组 byte[]

加密的几个概念
明文 + 密钥 = 密文

2.简单加密方式(其本质就是做替换)===编码
a:BASE64Encoder(一般来做图片或者音[视]频字节与字符串转换)
b:URLEncoder(一般给网络传输内容做转换)
 

3:获取者极为重要

Provider[] pp = Security.getProviders();
获得安全验证提供者
Security.addProvider(new com.sun.crypto.provider.SunJCE());
如果没有自带,则手动添加验证提供者为sun
 

4:复杂加密方式
javax.crypto包与java.security包
a:单向加密(如:MD5,SHA)结果不可逆,保存指纹做对比
    MessageDigest类==》更新摘要(update)==》生成字节数组(digest)
    加盐
    加密次数

在哪里可以知道加密算法的名字?
Security.getAlgorithms("服务名【例如MessageDigest,Cipher等】")
b:双向加密
	b1:对称加密【秘钥加密】(使用一个密码加密解密)
		(如:DES,DESede,AES)
		KeyGenerator:秘钥生成器(用来指定秘钥方式)
		SecretKey:秘钥(由秘钥生成器生成[包含字节数组])
		Cipher:生成转换器(要初始化(init)指定模式后doFinal最终生成)
		
		各种不同获得密钥的写法:
		SecretKeySpec sk = new SecretKeySpec("111111111".getBytes(), "DES");
		
		DESKeySpec dks = new DESKeySpec("11111111".getBytes());
		SecretKey sk = SecretKeyFactory.getInstance("DES").generateSecret(dks);
	
	b2:非对称加密(使用公钥私钥加密解密)
		(RSA)
		KeyPairGenerator:秘钥对生成器
		要初始化秘钥长度
		KeyPair:秘钥对(由秘钥对生成器生成[包含公私钥])

4:关于mysql中自带的加密
a:ENCODE
b:AES_DECRYPT
c:ENCRYPT(linux或Unix系统)调系统底层加密

标签:加密,字节,生成器,秘钥,new,java,login,Security,MD5
来源: https://blog.csdn.net/weixin_62303799/article/details/121416822

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有