一、hash算法 著名 的hash算法,MD5和SHA1可以说是目前应用最广泛的Hash算法,而它们都是以MD4为基础设计的。 那么他们都有什么用途呢? 哈希算法有如下特性: 1)不可以从消息摘要中复原信息; 2)两个不同的消息不会产生同样的消息摘要; 1.1 MD5算法 MD5是RSA数据安全公司开发的一种单向散列算法。MD5 全称是报文摘要算法(Messa
转载 2023-08-04 14:33:43
16阅读
# 哈希加密Java实现指南 ## 简介 在现代计算机科学中,哈希加密是一种常用的加密算法。它将数据转换为一个固定长度的字符串,这个字符串通常是不可逆的。在Java中,我们可以使用一些库来实现哈希加密算法。本文将教会你如何在Java中实现哈希加密。 ## 流程图 ```mermaid flowchart TD A[输入明文数据] --> B[选择哈希算法] B --> C[将
原创 2023-11-18 07:49:40
91阅读
  RSA、16进制、Base64 都属于可逆加密方式,可以通过相应的解密方法将密文还原为明文。  而哈希算法是不可逆加密方式,只能将明文进行哈希后得到一段固定长度的密文,但无法通过密文还原出明文。其中,SHA 算法、MD5 算法都是常用的哈希算法。一、16进制加密  加密和解密示例:def hex_encode(s): return s.encode('utf-8').hex() #
转载 2023-07-18 15:10:41
16阅读
文章目录1、哈希表简单的原理理解2、哈希冲突3、哈希冲突解决办法3.1 Java 里面怎么解决哈希冲突?3.2 Java 为什么使用单链表?链表 + 红黑树?为什么使用?4、 哈希函数的作用5、哈希函数实现的大致步骤6、相关运算符号(哈希函数中会遇到)6.1、关于 & 运算6.2 关于 ^ 运算(异或运算,相同的为 0 ,不同的 1 )6.3 >>> 表示的是无符号右移
转载 2023-08-10 11:52:47
63阅读
摘要密码验证是很常见的需求,如何在实现功能之余,防止用户密码泄露,已经有了很成熟的方案。这篇文章把自己的思考和结论做一下记录。结论对用户密码进行加密时需要做到:防止用户密码明文被窃听 1.交给https,明文传输。 2.客户端将密码加盐(盐随机生成、具有强度)并哈希。服务端再次加盐哈希并对比。假设https被窃听,攻击者破解密码明文也具有相当难度。防止数据库被攻破时,用户密码明文被窃取。 1.增加
一、单向散列算法也称为Hash(哈希)算法。是一种将任意长度的消息压缩到某一固定长度(消息摘要)的函数(该过程不可逆)。Hash函数可用于数字签名、消息的完整性检测、消息起源的认证检测等。常见的散列算法有MD5、SHA、HMAC、RIPE-MD、HAVAL、N-Hash、Tiger等。1. MD5算法MD5消息摘要算法(Message Digest Algorithm 5)。 对MD5算法简要的叙
摘要我们很难想象用户在什么样的网络环境使用我们开发的应用,如果用户所处的网络环境不是一个可信任的环境,那么用户的账户安全就可能有威胁,比如用户登陆时提交的账号密码被网络嗅探器窃取;客户端加密数据能有效的防御网络嗅探器窃取数据,通过在客户端Javascript加密数据后再提交至服务端进行验证有效提高了系统的安全系数,这符合纵深防御原则和数据安全要素机密性;本文整理了两种常用的加密算法:md5和sha
转载 2024-10-24 10:51:28
38阅读
一、哈希算法(hash)加密解密介绍哈希,英文叫做 hash。 哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。 我们习惯把 要计算 的数据称之为 源数据, 计算后的结果数据称之为 哈希值(hash value)或者 摘要(digests)。 有好几种哈希函数,对应不同的算法, 常见有的 MD5, SHA1, SHA224, SHA256, S
.哈希算法1.1. 简介计算机行业从业者对哈希这个词应该非常熟悉,哈希能够实现数据从一个维度向另一个维度的映射,通常使用哈希函数实现这种映射。通常业界使用y = hash(x)的方式进行表示,该哈希函数实现对x进行运算计算出一个哈希值y。 区块链中哈希函数特性:函数参数为string类型;固定大小输出;计算高效;优点:collision-free 即冲突概率小:x != y => hash(
转载 2023-12-19 17:48:50
32阅读
      密码学技术是区块链技术的核心,现本文将介绍区块链技术涉及到的部分密码学技术知识。包括:hash算法、对称加密与非对称加密以及数字签名等简要地介绍。一、hash算法      Hash,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,其中散
概述:           密码学技术是整个信息技术的基石。区块链中大量使用了信息安全和密码学技术,包括:哈希算法、非对称加密、数字签名、零知识证明等。1. 哈希算法哈希即 Hash,也称为散列算法。区块链采用密码学哈希算法,保证区块链账本的完整性(不被破坏)。常见的哈希函数包括庞杂的SHA家族等,比特币使用的是 SH
转载 2024-04-25 23:40:52
49阅读
哈希是通过对数据进行再压缩,提高效率的一种解决方法。但由于通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的哈希值。这时候就产生了哈希冲突。
转载 2023-07-26 16:35:10
139阅读
1、DES加密解密DES一共就有4个参数参与运作:明文、密文、密钥、向量。其中这4者的关系可以理解为:  密文=明文+密钥+向量;  明文=密文-密钥-向量;  为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复,那么这个词加上密钥形成的密文,仍然会重复,这给有心者有机可乘,他们可以根据重复的内容,猜出是什么词,然而一旦猜对这个词,那么,他就能算出密钥,整篇文章就被xx了!加上向量这个参数以
原创 2023-12-26 08:30:41
701阅读
参考:     哈希加密详解和md5、sha1、sha256、Java 工具类前言在所有的加密算法中使用最多的就是哈希加密了,很多人第一次接触的加密算法如MD5、SHA1都是典型的哈希加密算法,而哈希加密除了用在密码加密上,它还有很多的用途,如提取内容摘要、生成签名、文件对比、区块链等等。这篇文章就是想详细的讲解一下哈希加密,并分享一个哈希加密的工
哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。哈希的基本作用就是提供一个数据的摘要或者指纹,通常的使用场景就是完整性校验。哈希算法有很多种,一般来讲哈希越长的算法,安全性也就越高,安全
Hash(哈希)本意是混杂、拼凑、重新表述。Hash算法又叫散列算法、散列函数。它是一种单向密码体制,即一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时Hash函数可以将任意长度的输入得到固定长度的输出。Hash函数这种单向特征和固定输出数据长度的特征使它可以生成消息或者数据。HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值
1、base64base64是网络上最常见的用于传输8bit字节代码的编码方式之一(可以查看RFC2045~RFC2049,上面有MIME的详细规范)。base64编码可用于在http环境下传递较长的标识信息,例如,在java Persistence系统Hibernate中,就采用了base64来将一个较长的唯一标识符(一般为128bit的UUID)编码为一个字符串,用作HTTP表单和HTTP G
摘要我们很难想象用户在什么样的网络环境使用我们开发的应用,如果用户所处的网络环境不是一个可信任的环境,那么用户的账户安全就可能有威胁,比如用户登陆时提交的账号密码被网络嗅探器窃取;客户端加密数据能有效的防御网络嗅探器窃取数据,通过在客户端Javascript加密数据后再提交至服务端进行验证有效提高了系统的安全系数,这符合纵深防御原则和数据安全要素机密性;本文整理了两种常用的加密算法:md5和sha
转载 精选 2015-03-22 21:01:17
1171阅读
Java编程笔记番外1:浅谈散列图源:PHP中文网散列作为一种数据结构,是为了解决一类特定问题:如何以尽可能小的时间复杂度保存和读取元素。接下来我会用一系列示例来一步步说明散列如何实现以及为什么要使用散列。首先来看一个最简单的在一段连续空间中保存元素的示例:package ex1.hash; import java.lang.reflect.Array; import java.util.Arr
转载 2024-09-27 15:28:44
32阅读
文章目录一、String 类型的 hashcode 方法二、hashcode为什么选择31三、base64 【前提知识】<< : 左移运算符,num << 1,相当于num乘以2 低位补0 >> : 右移运算符,num >> 1,相当于num除以2 高位补0 >>> : 无符号右移,忽略符号位,空位都以0补齐 % : 模运算
  • 1
  • 2
  • 3
  • 4
  • 5