![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
紫色的忧伤123456
热爱编程。熟悉.net 和java,从事过嵌入式开发。.net和java开发。
展开
-
常见的一些算法名词
1. KMP算法,字符匹配,暴力匹配2. 回溯算法,贪心算法,深度优先算法,单向环形列表,约瑟夫问题,稀疏数组3.常见的汉诺塔,八皇后(可以在线搜死亡八皇后小游戏http://2.6822.com/www2344.9/play_76277.html)4. 马踏棋盘...原创 2021-06-20 14:43:51 · 994 阅读 · 0 评论 -
java生成6位随机数
生成6位随机数(不会是5位或者7位,仅只有6位):System.out.println((int)((Math.random()*9+1)*100000));同理,生成5位随机数:System.out.println((int)((Math.random()*9+1)*10000));同理,生成4为随机数:System.out.println((int)((M...转载 2019-04-18 13:38:22 · 6150 阅读 · 0 评论 -
MD5学习笔记
消息摘要的概念对消息通过一个单向Hash算法进行计算,得到一个唯一的结果。每个消息对应一个唯一结果,所有结果的长度固定。 MD5 并不是加密算法,而是摘要算法。加密算法是可逆的,摘要算法是理论上不可逆的消息摘要的分类(1)MD5(Message Digest)消息摘要算法(2)SHA(Secure Hash Algorithm)安全散列算法(3)MAC(Messa...原创 2018-10-29 17:39:53 · 205 阅读 · 0 评论 -
JAVA加密算法(1)- 密码学概述及BASE64算法使用
密码学综述密码学综述密码学基本功能机密性、鉴别、报文完整性、不可否认性基本模型sender-->加密算法 --> 密文 --> 解密算法 --> receiver密钥源密码学算法分类:消息编码:Base64消息摘要:MD类,SHA类,MAC对称加密:DES,3DES,AES非对称加密:RSA,DH密钥交换数字签名:RSA s...转载 2018-11-15 15:20:49 · 245 阅读 · 0 评论 -
JAVA加密算法(2)- 消息摘要算法(MD5、SHA、HMAC)
消息摘要的概念对消息通过一个单向Hash算法进行计算,得到一个唯一的结果。每个消息对应一个唯一结果,所有结果的长度固定。消息摘要的分类(1)MD5(Message Digest)消息摘要算法(2)SHA(Secure Hash Algorithm)安全散列算法(3)MAC(Message Authentication Code)消息认证码算法,结合了MD5和SHA的优势,同时用...转载 2018-11-15 15:24:06 · 244 阅读 · 0 评论 -
JAVA加密算法(3)- 对称加密算法(DES、3DES、AES)
对称加密算法概念 加密密钥和解密密钥相同,大部分算法加密揭秘过程互逆。 特点:算法公开、(相比非对称加密)计算量小、加密速度快、效率高。 弱点:双方都使用同样的密钥,安全性得不到保证。 常用对称加密算法 DES(Data Encryption Standard) 3DES(DES加强版,使用3次DES计算,Triple DES,DESede) ...转载 2018-11-15 15:28:28 · 285 阅读 · 0 评论 -
JAVA加密算法(4)- 非对称加密算法(DH,RSA)
非对称密码概念发送者使用接收者的公钥加密,接收者使用自己的私钥解密。需要两个密钥进行加密或解密,分为公钥和私钥特点:安全性高,速度慢常用算法 DH密钥交换算法 RSA算法 ElGamal算法那 用途 密钥交换(DH) 双方在没有确定共同密钥的情况下,生成密钥,不提供加密工作,加解密还需要其他对称加密算法实现 加密/解密(RSA)...转载 2018-11-15 15:35:41 · 206 阅读 · 0 评论 -
JAVA加密算法(5)- 数字签名算法(RSA、DSA)
数字签名流程(1)生成签名:对源文件的「数字摘要」,使用私钥加密,生成「加密数字摘要」;(2)验证签名:对「加密数字摘要」通过公钥进行解密,生成「数字摘要2」,比较「数字摘要」与「数字摘要2」,结果相同则签名验证通过。概念:带有「公钥」和「私钥」的「消息摘要」算法,是「非对称加密算法」和「消息摘要」算法的结合体私钥签名,公钥验证常用签名算法 RSASignature...转载 2018-11-15 15:37:05 · 379 阅读 · 0 评论 -
JAVA UUID学习
1. UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写 UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32=2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完2. java生成UUID的方法 UUID.rando...原创 2019-02-15 11:23:10 · 938 阅读 · 0 评论 -
算法学习总结
1. Base64 编码,可逆,不属于加密算法,因为算法公开,常用来传递一些二进制文件,如图片2. 消息摘要(MD5,SHA,MAC) 算法,不可逆,常用来校验如File文件是否被篡改过,在上传文件时,生成消息摘要,在上传到服务器的时候,再生成消息摘要,进行对比,如果消息摘要不同,则可以认为文件被篡改过3.加密算法(对称加密算法和非对称加密算法),加密算法指的是必须公开算法实现原理,以及算...原创 2019-02-15 15:59:08 · 213 阅读 · 0 评论