首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏飞扬的花生

    Md5加密秘钥加密哈希加密

    加密通用类: public class EncryptClass { ///

    /// 返回MD5加密字符串 /// < return null; } MD5 md5Hash = MD5.Create(); // 将输入字符串转换为字节数组并计算哈希数据 Stringbuilder 来收集字节并创建字符串 StringBuilder sBuilder = new StringBuilder(); // 循环遍历哈希数据的每一个字节并格式化为十六进制字符串 } // 返回十六进制字符串 return sBuilder.ToString(); } #region 密钥加密解密 //方法 //加密方法 public static string Encrypt(string pToEncrypt, string sKey)

    6.8K90发布于 2018-01-18
  • 来自专栏建帅技术分享

    哈希算法(hash)加密解密

    一、哈希算法(hash)加密解密介绍 哈希,英文叫做 hash。 哈希函数(hash function)可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。 也就是说,不能通过 哈希值 反过来计算出 源数据。 所以哈希和我们常说的加密解密不同。 :8b365af9b1089f502e7bc60ac9c81ed2 # sha 256算法 h = hashlib.sha256() # 要计算的元数据必须是字符串格式 # 字符串对象需要encode转换为字节串对象 :8b365af9b1089f502e7bc60ac9c81ed2 # sha 512算法 h = hashlib.sha512() # 要计算的元数据必须是字符串格式 # 字符串对象需要encode转换为字节串对象 hash算法可以对很大的数据产生比较小的哈希值,而加密算法源数据很大,加密后的数据也会很大 加解密算法 可以分为 对称加密 以及 不对称加密 对称加密加密和解密 使用相同的 密钥 。

    8.3K20编辑于 2022-08-24
  • 来自专栏系统开发案例

    幸运哈希竞猜游戏系统开发加密哈希算法

    哈希算法只需满足把一个散列对象映射到另一个区间的需求,因此根据使用场景的不同,可将哈希算法分为加密哈希与非加密哈希。    概述   加密哈希被认为是单向函数,也就是说极难由散列函数输出的结果,回推输入的数据是什么。加密哈希函数的输入数据,通常被称为消息(message),而它的输出结果通常被称为摘要(digest)。 为什么不可碰撞性对加密哈希算法如此重要? 从SHA-256算法的实现步骤可以看出,加密哈希的逆向计算几乎是不可能的,暴力破解法的成本也太高,因此对加密哈希算法所谓的攻击实际是利用哈希碰撞为突破口进行数据伪造。 专用哈希函数加密:使用bcrypt等专门用来密码加密哈希函数进行加密,这类函数通常运算时间较长,大大增加了攻击成本。   

    94740编辑于 2022-06-24
  • 来自专栏算法channel

    Day 9 :什么是哈希表?

    2 Day 9 打卡题:什么是哈希表? 明天的打卡题,我们就来学习最重要的数据结构之一:散列表或哈希表,那么什么是哈希表呢?哈希表怎么做到 O(1) 时间复杂度找到某个元素的呢? 图片1:哈希表的基本用途 ? 图2:哈希表的查找规则: ? 图3:哈希表常遇到键冲突问题: ? 图 4 :解决方法: ? 星球内的星友直接学习本书的 1-6 解即可。然后把打卡题:什么是哈希表? 哈希表怎么做到 O(1) 时间复杂度找到某个元素? ?

    61730发布于 2020-06-04
  • 来自专栏caoayu的分享

    关于前端哈希加密密码的思考

    在前端哈希密码是否是个不错的方案? 为了防止用户或者管理员的密码泄漏或者数据库信息泄漏出去,web应用普遍采用了在后端将密码哈希以后存储在数据库中,前端提供密码,由后端进行哈希后与数据库进行对比,既然最终需要对比的是哈希过得密码,那么为什么不直接在前端将密码哈希直接交给后端存储在数据库呢 答案其实很简单,我们将密码哈希是为了防止恶意的伪装登陆,如果我们的数据库中的密码泄漏了出去,那我们可以直接用数据库中存储的前端哈希过的密码直接登陆,后端无法进行验证,所以哈希密码的步骤要在后端进行,不只是对密码仅仅做一次哈希 通常我们的做法是指定自己的一套规则,可以使用加盐,即将字符串哈希过后,拼接上自定义的字符串再进行二次哈希,这样就大大的提高了安全的级别,有时对于要求更高的api的说仅仅加盐还是不够的,还需要认证,鉴权等步骤

    1.2K20发布于 2020-09-23
  • 来自专栏小工匠聊架构

    加密与安全_深入了解哈希算法

    哈希算法是一种重要的加密算法,其核心思想是将任意长度的数据映射为固定长度的哈希值,这个哈希值通常用于验证数据的完整性、索引数据和加速数据查找。 SHA-512适用于对抗更严格的安全攻击,如密码学中的高级加密标准(AES)等。 根据碰撞概率,哈希算法的输出长度越长,就越难产生碰撞,也就越安全。 密码学中的数字签名:哈希算法可以用于生成数字签名,用于验证数据的来源和完整性。发送方可以通过将数据的哈希值使用私钥进行加密生成数字签名,并将数字签名附加在数据上发送给接收方。 与数字签名不同的是,消息认证码是使用对称密钥算法生成的,发送方和接收方共享同一个密钥,发送方使用密钥对数据的哈希值进行加密生成消息认证码,接收方使用相同的密钥解密消息认证码并计算数据的哈希值,然后比对两者是否一致 password bob H1r0a a5022319ff4c56955e22a74abcc2c210 alice 7$p2w e5de688c99e961ed6e560b972dab8b6a tim z5Sk9

    1.1K00编辑于 2024-05-26
  • 一文看透对称加密、非对称加密哈希加密的本质区别

    现代加密技术主要分为三大类:对称加密、非对称加密哈希加密,它们各自有着独特的设计思想和应用场景。 四、哈希加密:数据完整性的守护者 4.1 哈希加密的核心原理 哈希加密(Hash Encryption),又称哈希函数或散列函数,是一种将任意长度的输入数据转换为固定长度输出的加密算法。 与对称加密和非对称加密不同,哈希加密是单向的—— 它只能将明文转换为哈希值(又称消息摘要),而无法从哈希值反推出原始明文。 4.2 哈希加密与前两种加密的本质区别 哈希加密与对称加密、非对称加密有着本质的区别: 方向性:对称加密和非对称加密都是双向的(可以加密也可以解密),而哈希加密是单向的(只能加密不能解密) 输出长度:对称加密和非对称加密的输出长度通常与输入长度相关 五、三种加密类型的综合对比与选择指南 5.1 三种加密类型的核心区别 为了更清晰地理解对称加密、非对称加密哈希加密的区别,我们通过一个表格来进行综合对比: 特性 对称加密 非对称加密 哈希加密 密钥数量

    11810编辑于 2026-04-14
  • 来自专栏Michael阿明学习之路

    TinyURL 的加密与解密(哈希

    简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk 要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。 你的加密和解密算法如何设计和运作是没有限制的,你只需要保证一个URL可以被加密成一个TinyURL,并且这个TinyURL可以用解密方法恢复成原本的URL。 哈希解题 用简单的 int 映射成网址,进行转化 ? > m; public: Solution():id(0){} string encode(string longUrl) { m[++id] = longUrl;//网址存入哈希

    56220发布于 2021-02-20
  • 来自专栏C++系列

    【数据结构】哈希经典应用:布隆过滤器(哈希+位图)——(9

    哈希表存储用户记录,缺点:浪费空间 用位图存储用户记录,缺点:位图一般只能处理整形,如果内容编号是字符串,就无法处理 了。 将哈希与位图结合,即布隆过滤器 二.布隆过滤器的原理&基本场景 【1】布隆过滤器的核心原理&重要性质 布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的 一种紧凑型的、比较巧妙的概 率型数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西可能存在或者一定不存在”,它是用 多个哈希函数 ,将一个数据映射到位图结构中 。 如下图1所示: 某样东西可能存在:baidu 与other 通过哈希函数Hash1,Hash2都同时映射到相同位置发生了哈希冲突。 哈希切分的基本概念: 是将一个大文件,利用哈希的原理, 将其分为若干个小文件。

    36310编辑于 2024-01-23
  • 来自专栏CSDN搜“看,未来”

    数据结构(9)-- 哈希表 unordered_map

    文章目录 哈希散列表 小故事 加载因子 哈希函数的安全 关于开链法 unordered_map unordered_map与map的区别 unordered_map 简单使用 哈希散列表 需要我说一下什么是哈希表吗 这个“把你的车牌号映射进0~10000之间”的操作,就是所谓的“哈希”或者(当然,实践上,为了尽量减少冲突,哈希表的空间大小会尽量取质数)。 哈希表实际所存数据量和哈希表最大容量之间的比值,叫做哈希表的“加载因子”。 加载因子越小,冲突的概率就越低,但浪费大量空间;加载因子越高,冲突概率越大,但空间浪费就越少。 ---- 哈希函数的安全 如果哈希表使用的哈希函数较为简单,对恶意的攻击者来说,他可以精心构造一大堆数据提交给你——所有这些数据散列后全都存在一个格子里。 解决方案也很简单: 1、提高哈希函数复杂度,想办法加入随机性(相当于每次使用一个不同的哈希函数),避免被人轻易捕捉到弱点 2、不要用开链表法存储冲突数据,采用“再散列法”,并且使用不同的哈希函数再散列

    1.4K11发布于 2021-09-18
  • 来自专栏AI那点小事

    算法提高 9-2 文本加密

    问题描述   先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:”A”转化”B”,”B”转化为”C”,… …”Z”转化为”a”,”a”转化为”b”,… …, “z” 转化为”A”,其它字符不加密。 编写程序,加密给定字符串。 样例输出 与上面的样例输入对应的输出。 例: ? 数据规模和约定   输入数据中每一个数的范围。   例:50个字符以内无空格字符串。

    52940发布于 2020-04-20
  • 来自专栏Lan小站

    试题 算法提高 9-2 文本加密

    资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:"A"转化"B","B"转化为"C",... Z"转化为"a","a"转化为"b",... ..., "z"转化为"A",其它字符不加密。编写程序,加密给定字符串。 样例输出 与上面的样例输入对应的输出。

    26220编辑于 2022-07-13
  • 来自专栏后端开发从入门到入魔

    区块链基础知识(上):区块链基本原理、加密哈希、公钥加密

    加密哈希加密哈希的作用是创建一个唯一的指纹或标识,用于表示输入数据。无论输入数据有多大或多小,哈希函数都会生成相同长度的哈希值。这意味着即使输入数据发生微小的改变,生成的哈希值也会完全不同。 其次,加密哈希是不可逆的。这意味着无法通过观察哈希值来推断出输入数据的内容。哈希函数的设计使得即使输入数据发生微小的变化,其生成的哈希值也会有很大的差异。 最后,加密哈希应该是唯一的。 哈希处理:对于要进行数字签名的文档或消息,你需要使用加密哈希算法对其进行哈希处理。加密哈希算法会将文档或消息转换为一个固定长度的哈希值。常用的加密哈希算法包括SHA-256和SHA-512等。 私钥加密:使用你的私钥对哈希值进行加密。这个加密操作会生成一个数字签名,这个签名是唯一与你的私钥相关联的加密值。 发送签名和文档/消息:将数字签名和原始文档或消息一起发送给接收方。 使用 PKC 和加密哈希验证文档/消息 交易哈希链使用数字签名转让数字资产所有权;每个交易记录都保留有对哈希链中上一个交易的加密反向链接 交易哈希链是一种用于转让数字资产所有权的机制,它使用数字签名来验证交易的有效性

    3.8K22编辑于 2024-03-12
  • 来自专栏全栈程序员必看

    哈希算法是对称算法还是非对称算法_对称加密和非对称加密原理

    哈希算法( Hash )又称摘要算法( Digest ), 作用:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法的目的:为了验证原始数据是否被篡改。 ".hashCode(); // 0x7a9d88e8 两个相同的字符串永远会计算出相同的 hashCode ,否则基于 hashCode 定位的 HashMap 就无法正常工作。 :输出长度64字节512位 Hmac算法:(密钥算法); 在前面讲到哈希算法时,我们说,存储用户的哈希口令时,要加盐存储,目的就在于抵御彩虹表攻击。 Hmac 算法总是和某种哈希算法配合起来用的。 输出和原有的哈希算法长度一致。

    1.6K20编辑于 2022-11-01
  • 来自专栏技术一点点成长

    哈希哈希

    其内部实现是通过把键(key)码映射到表中的一个位置来访问记录,其中的“映射”也就是哈希函数,而“表”即哈希表。本文将重点介绍实现哈希表的2种方法:拉链法和线性探测法。 2.HashMap实现   实现哈希表主要分以下两步: step1:定义哈希函数   哈希函数的实现不唯一,在此我们以java自带的hashCode()为基础进行修改。 import java.util.Scanner; 5 6 public class SequenceChain<Key,Value>{ 7 8 private int N; 9 5 6 public class SequentialSearch<Key,Value> { 7 8 private Node root; //顺序链表的根root 9 4 import java.util.Scanner; 5 6 public class LinearIndex<Key,Value> { 7 8 int N=0; 9

    74610编辑于 2022-08-09
  • 来自专栏Python每日一库

    mmh3:超高性能的非加密哈希Python库

    在处理大规模数据时,我们经常需要快速计算哈希值来进行数据去重、布隆过滤器实现或内容指纹识别。传统的hash()函数或md5等加密哈希虽然可用,但计算速度往往不尽如人意。 今天要介绍的MurmurHash3(通过mmh3库实现)就是一个超高性能的非加密哈希算法,它在保证哈希质量的同时,计算速度可以达到传统算法的5-10倍。 核心功能详解mmh3提供了多个哈希函数变体,以适应不同场景:import mmh3# 32位整数哈希text = "Hello, World!" hash_32 = mmh3.hash(text) # 返回32位整数print(f"32位哈希值: {hash_32}")# 64位整数哈希hash_64 = mmh3.hash64(text) 相比传统的hash()函数,它不仅速度更快,而且提供了更丰富的哈希位数选择。虽然mmh3不适用于密码学场景(因为它是非加密哈希),但在需要快速计算哈希值的场景下,它的表现令人印象深刻。

    79910编辑于 2025-01-16
  • 来自专栏cjz的专栏

    Spring Security安全框架中BCrypt强哈希加密算法使用

    密码应该通过某种方式进行加密。 如今已有很多标准的算法比如SHA或者MD5再结合salt(盐)使用是一个不错的选择。 废话不多说! 直接开始 SpringBoot 中提供了Spring Security: BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码 artifactId>spring‐boot‐starter‐security</artifactId> </dependency> 注意:Spring Security 它默认的是拦截所有路径,但是只是需要它的加密算法 encoder.encode(需要加密的密码) String newpassword = encoder.encode(admin.getPassword());//加密后的密码 admin.setPassword encoder.matches(password,admin.getPassword())){ return addmin; { else{ return null; } } 到此密码加密就完成了

    1K30编辑于 2022-12-21
  • 来自专栏码农沉思录

    揭秘区块链的核心技术之「哈希加密算法 」

    其实就两大类: 哈希算法 非对称加密算法 区块链中的哈希算法 哈希算法是区块链中用的最多的一种算法,它被广泛的使用在构建区块和确认交易的完整性上。 至此,区块链中的哈希算法应用就介绍完了,接下来我们看一下非对称加密算法 区块链中的非对称加密算法 区块链中有一个很关键的点就是账户问题,但比特币中是没有账户概念的,那大家是怎么进行转账交易的呢? 所谓非对称加密是指我们在对数据进行加密和解密的时候,需使用2个不同的密钥。比如,我们可以用A密钥将数据进行加密,然后用B密钥来解密,相反,也可以用B来加密,然后使用A来解密。 这个示例,就是比特币中一次交易的签名流程,即将 哈希算法与非对称算法结合在一起用于了比特币交易的数字签名。 除此之外,比特币中,公私钥的生成、比特币地址的生成也是由非对称加密算法来保证的。 以上,就是区块链体系中,核心技术之哈希算法与加密算法的应用情况,欢迎一起交流。

    2.5K20发布于 2019-12-09
  • 来自专栏不止思考

    揭秘区块链的核心技术之「哈希加密算法 」

    其实就两大类: 哈希算法 非对称加密算法 一、区块链中的哈希算法 哈希算法是区块链中用的最多的一种算法,它被广泛的使用在构建区块和确认交易的完整性上。 至此,区块链中的哈希算法应用就介绍完了,接下来我们看一下非对称加密算法。 所谓非对称加密是指我们在对数据进行加密和解密的时候,需使用2个不同的密钥。比如,我们可以用A密钥将数据进行加密,然后用B密钥来解密,相反,也可以用B来加密,然后使用A来解密。 这个示例,就是比特币中一次交易的签名流程,即将 哈希算法与非对称算法结合在一起用于了比特币交易的数字签名。 除此之外,比特币中,公私钥的生成、比特币地址的生成也是由非对称加密算法来保证的。 以上,就是区块链体系中,核心技术之哈希算法与加密算法的应用情况,欢迎一起交流。 本文原创发布于微信公众号「 不止思考 」,欢迎关注,交流 互联网认知、工作管理、大数据、Web、区块链技术。

    1.2K20发布于 2018-08-31
  • 来自专栏nginx

    彻底理解 bcrypt 哈希加密:从不可逆性到密码验证

    bcrypt 属于基于 Blowfish 加密算法的自适应哈希算法,具有极高的抗破解能力。 每次运行代码生成的哈希值都会有所不同,例如: $2b$10$E3YgR5lA4uJzZgVsHDETYONJnpIXHzb.kj9bFqXlgKHvMTXhe3kJe 注意:即使我们使用相同的明文密码 bcrypt 的使用方式与传统加密有所不同。因为 bcrypt 哈希值不可逆,因此不能通过反向解密来验证密码。正确的做法是通过重新计算哈希值进行验证。 在 Python 中可以使用 bcrypt 的 checkpw 方法来实现上述过程: import bcrypt # 假设这是数据库中存储的哈希值 stored_hash = b'$2b$10$E3YgR5lA4uJzZgVsHDETYONJnpIXHzb.kj9bFqXlgKHvMTXhe3kJe 总结 bcrypt 是一种安全性极高的密码哈希算法,其设计理念 和加密原理确保了它在密码保护中的不可替代性。

    2.1K10编辑于 2025-11-15
领券