摘要算法的特性 摘要算法的目的的将信息进行简单地摘要,将任意长的信息摘要成固定长的信息.比如MD5,将任意长的信息摘要成128位的摘要. 不可逆的,将报文摘要成一段信息后,无法通过摘要信息还原会报文. 冲突性.一份报文跟其他报文的摘要信息有可能是一致的,即冲突的.一般来说,摘要算法会设计得冲突性尽量小. 常用的摘要算法有:MD5.SHA(Secure Hash Algorithm)等.下面介绍MD5. MD5 MD,全文是Message Digest,即信息摘要的意思,是常用的信息摘要算法. 它…
Java 加密解密之消息摘要算法(MD5 SHA MAC) 消息摘要 消息摘要(Message Digest)又称为数字摘要(Digital Digest). 它是一个唯一相应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息进行作用而产生.假设消息在途中改变了.则接收者通过对收到消息的新产生的摘要与原摘要比較.就可知道消息是否被改变了.因此消息摘要保证了消息的完整性.消息摘要採用单向Hash 函数将需加密 的明文"摘要"成一串128bit的密文.这一串密文亦称为数字指纹…
Java 加解密技术系列之 MD5 序 背景 正文 结束语 序 上一篇文章中,介绍了最基础的编码方式 — — BASE64,也简单的提了一下编码的原理.这篇文章继续加解密的系列,当然也是介绍比较基础的加密方式 — — MD5,MD5 属于单向加密算法,是不可逆的加密方式,也就是说,采用了 MD5 加密方式加密之后,就不能对加密的结果进行解密,得到原有的字符串,这是不可以的. 背景 相信在我们的生活 中,MD5 用到的还是很广泛的.在说 MD5 之前,首先来了解一下单向加密算法都有哪些.当然,MD…
编码算法 编码算法是将一种形式转换成等价的另外一种形式.主要是为了方便某种特定场景的处理. 字母如何在计算机中表示呢? 用ASCII编码 那中文字符如何在计算机中表示呢? 用Unicode编码 如何同时兼容字母和中文呢? 用UTF-8编码 我浏览器想给服务器发送数据,有没有什么编码方式呢? 用URL编码 一般规则 A-Z, a-z, 0-9, -_.* 保持不变 其他字符以%XX表示(如,中:%E4%B8%AD (UTF8:E4B8AD)) 发邮件的时候二进制附件怎么发送呢? 用Base64编码…
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工具类           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4…
以下为加密的工具类: import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.PrivateKey; import java.security.PublicKey; impo…
1.算法概述 数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名.数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密.数据摘要算法也被称为哈希(Hash)算法或散列算法. 1.1.CRC8.CRC16.CRC32 CRC(Cyclic Redundancy Check,循环冗余校验)算法出现时间较长,应用也十分广泛,尤其是通讯领域,现在应用最多的就是 CRC32 算法,它产生一个4字节(32位)的校验值,一般是以8位十六进制数,如FA 12…
Java中常用的七个阻塞队列介绍第一篇 在上一篇我们对Java中的队列分类做了简单的介绍.本文咱们主要来聊聊阻塞队列中的七个常用子类.这七个阻塞队列的学习步骤:先看源码,分析完源码之后,我们再来对每个队列进行总结.最后在来个大总结.文章可能有点长,但是,大家耐着性子看完,保证你对这七大阻塞队列有深刻的理解. 本文主要内容:介绍前三个队列及查看源码总结每个队列的特点 本文出自凯哥Java(kaigejava)的<凯哥Java并发系列>之<Java并发编程之队列>系列的第二篇:<…
Java的常用对象① Java的常用对象有很多,这里只对lang包中常用的Object,Date(Calendar,DateFormat,Math),System,Runtime进行介绍.㈠Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法.在Object中equals(Object obj),hashCode(),toString()是每个类常用到的,getClass()被用来反射,finalize()是与垃圾回收有关的方法. 其余的not…
Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位. b) 图例说明: 原始数据:int[] a={4,6,2,8,1,9,0,3}; 要查找数字:8 代码演示: import java.util.Scanner; /* * 顺序查找 */ public class SequelSearch { public static void main(St…