首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Lan小站

    Python实现Hash33加密算法

    今天在研究QQ登陆的时候又发现一个值是和上次bkn加密方式有点像的,然后这次似乎看到了名字Hash33 然后这里就做一个笔记吧,说不定下次还有用。 def hash33(t): e = 0 for i in range(len(t)): e += (e << 5) + ord(t[i]) return 2147483647

    68620编辑于 2022-07-14
  • 来自专栏黄腾霄的博客

    2020-6-1-理解webpack的hash,contenthash,chunkhash

    而webpack就内置了hash计算方法,对生成文件的可以在输出文件中添加hash字段。 区分hash,contenthash,chunkhash webpack内置的hash有三种: hash:每次构建会生成一个hash。 此时可以使用contenthash进行标记,确保css文件内容变化时,可以更新hash。 hash用法 一般来说,没有什么机会直接使用hash。 hash会更据每次工程的内容进行计算,很容易造成不必要的hash变更,不利于版本管理。 file-loader的hash 可能有同学会表示有以下疑问。 这里的hash是使用md4等hash算法,对文件内容进行hash。 所以只要文件内容不变,hash还是会保持一致。

    3.1K20发布于 2020-06-10
  • 来自专栏陈大剩博客专栏

    Redis Hash(Hash) 复习

    应用场景 Hash也可以同于对象存储,比如存储用户信息,与字符串不一样的是,字符串是需要将对象进行序列化(比如json序列化)之后才能保存,而Hash则可以讲用户对象的每个字段单独存储,这样就能节省序列化和反序列的时间 第一维 hash 的数组位置碰撞时,就会将碰撞的元素使用链表串接起来。 不存在,返回空列表 # HGETALL key > HGETALL myhash 1) "1" 2) "zhangsan2" 3) "2" 4) "lisi" 5) "3" 6) "wangwu1" 获取所有的 'host' => '127.0.0.1', 'port' => 6379, ]); for ($i = 1; $i <= 10000; $i++) { $client->hset('hash2 $i,$i); } HSCAN 查询 > HSCAN hash2 0 MATCH "key:99*" count 10000 1) "0" 2) 1) "key:9956" 2) "9956

    2.4K30编辑于 2023-03-06
  • 来自专栏静默虚空的博客

    加密算法

    (2)将获得字符编码转换为二进制 (3)对二进制码做分组转换,每3个字节为一组,转换为每4个6位二进制位一组(不足6位时低位补0)。 这是一个分组变化的过程,3个8位二进制码和4个6位二进制码的长度都是24位(3*8 = 4*6 = 24)。 (4)对获得的4-6二进制码补位,向6位二进制码添加2位高位0,组成4个8位二进制码。 对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。 而与公钥、密钥加密算法比起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。 方式:每个填充的字节都记录了填充的总字节数 结果如下: F1 F2 F3 F4 F5 F6 F7 F8 //第一块 F9 07 07 07 07 07 07 07 //第二块 常用算法 对称加密算法主要有 因此,非对称加密算法也称为双钥加密算法或公钥加密算法。 特点 优点 非对称加密算法解决了对称加密算法的密钥分配问题,并极大地提高了算法安全性。

    5K60发布于 2018-01-05
  • 来自专栏IDE激活码系列

    加密算法

    加密算法是旅居瑞士中国青年学者来学嘉和著名密码专家J.Massey于1990年提出的。它在1990年正式公布并在以后得到增强。 类似于DES,IDEA算法也是一种数据块加密算法,它设计了一系列加密轮次,每轮加密都使用从完整的加密密钥中生成的一个子密钥。与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。 在每一轮中,这4个子分组相列相异或,相加,相乘,且与6个16-位子密钥相异或,相加,相乘。在轮与轮间,第二和第:个子分组交换。最后在输出变换中4个子分组与4个子密钥进行运算。 ·(6)将第(2)步和第(4)步的结果相异或。(7)将第(5)步的结果与第五个子密钥相乘。(8)将第(6)步和第(7)步的结果相加。(9)将第(8)步的结果与第六个子密钥相乘。 这个算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用与输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些是算法的第一批8个子密钥(第一轮六个,第二轮的头两个)。

    89020编辑于 2023-07-16
  • 来自专栏程序员阿杰

    hash

    map = new HashMap<>(); map.put("key1",value1); map.put("key2", value2); //以上代码在初始化map是会先调用hashmap中的hash , Node<K,V> next) { this.hash = hash; this.key = key; this.value ; //可以看出hashmap和hashtable在获取hash整型后存入的数组下标的地址的获取方法存在差异 //hashmap存在最坏情况,即所有的值通过hash整数与数组长度的位运算存入的index * 即 红黑树转为链表的阈值,当在扩容(resize())时 * (此时HashMap的数据存储位置会重新计算),在重新计算存储位置后, * 当原有的红黑树内数量 < 6时 ,则将 红黑树转换成链表 */ static final int UNTREEIFY_THRESHOLD = 6; /** * 最小树形化容量阈值: * 即 当哈希表中的总容量 > 该值时

    1.2K20编辑于 2022-01-10
  • 来自专栏算法半岛

    Hash表(一)——Hash函数

    这里先讲解 Hash函数。 Hash函数 从上面的图可以观察到,中间的部分的部分为 Hash函数,也称为散列函数。它在散列表中起着关键作用。 Hash函数一般使用 hash(key)表示,其中 key表示元素的键值部分, hash(key)的表示经过 Hash函数计算得到的 Hash值(散列值)。 不同的应用实例 Hash函数不同,该怎么去构造 Hash函数,一般遵循一下三条: Hash函数计算得到的散列值是一个非负整数; 如果 key1==key2,那么 hash(key1)==hash(key2 =key2,那么 hash(key1)!=hash(key2). 对于第一条很好理解,因为数组的下标是从0开始,所以 Hash函数生成的 Hash值也需要是非负整数。 对于第二条,相同的 key经过 Hash函数处理后得到的 Hash值应该也是相同的。

    2.3K30发布于 2019-07-10
  • 来自专栏我的技术专刊

    加密算法详解

    HexUtil.encodeHexStr(encoded); sm2解密 // JS加密产生的密文 String cipherData = "0477109887984ca6250635e6e30a58d11efe71abd998271808ec611366197698106b128ef699fe7fa09449bb7ca9527d674cc865a93a4e3593770ecd3ab06291aee81f5459b8500c284e5391956a83ddb2a90f298968a97828b0802749d5e5bbaa1c519489d4a37215ae0d5f7ef0b3a9a2e8dc1ce485544397a66923811c2f44a0 = Hex.decode(cipherData); // 私钥 String privateKey = "9fb1f241314168f56d0bc0a236c3a8d6f60ebf778e4104ce94a6cc27cdd4d178

    5K00编辑于 2021-12-16
  • 来自专栏osc同步分享-java技术分享站

    RSA加密算法

    import java.math.BigInteger; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Test{ /** * 需要加密的字符串 */ // public final static String STRING = "Hello world!"; public final static String STRING = "Hello world!

    2.8K90发布于 2018-03-14
  • 来自专栏学习

    加密算法-----BCrypt

     一、常见的加密算法: 可逆算法:一种可以将加密后的密文还原为原始明文的算法。 对称算法:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 单向散列(hash)加密:是指把任意长的输入串变化成固定长的输出串,并且由输出串难以得到输入串的加密方法。广泛应用于对敏感数据加密,比如用户密码,请求参数,文件加密等。 PBKDF2(Java 原生支持,但不如 BCrypt/Argon2) 二、BCrypt的使用 Bcrypt是一种哈希加密算法,被广泛应用于存储密码和进行身份验证。 1.加密工具类 /** * 加密算法工具类 */ public class BCryptUtils { /** * 生成加密后密文 * * @param password r.setCode(code); r.setData(data); r.setMsg(msg); return r; } } 三、管理员登录-真实加密算法使用

    1.5K10编辑于 2025-08-11
  • 来自专栏游戏开发司机

    C++(STL):33---hash_set、hash_map、hash_multiset、hash_multimap源码剖析

    一、hash_set 由于hash_set底层是以hash table实现的,因此hash_set只是简单的调用hash table的方法即可 与set的异同点: hash_set与set都是用来快速查找元素的 但是set会对元素自动排序,而hash_set没有 hash_set和set的使用方法相同 在介绍hash table的hash functions的时候说过,hash table有一些无法处理的类型 二、hash_map 由于hash_map底层是以hash table实现的,因此hash_map只是简单的调用hash table的方法即可 与map的异同点: hash_map与map都是用来快速查找元素的 但是map会对元素自动排序,而hash_map没有 hash_map和map的使用方法相同 在介绍hash table的hash functions的时候说过,hash table有一些无法处理的类型 因此hash_map也无法自己处理 hash_map源码 //以下代码摘录于stl_hash_map.h //以下的hash<>是个function object,定义于<stl_hash_fun.h>

    2.7K30发布于 2021-02-03
  • 来自专栏数据结构与算法

    1000 加密算法

    题目描述 神龙数码公司设计了一个加密算法:用a代替z,用b代替y,用c代替x,......,用z代替a。现要求输入一个小写字母,对其进行加密输出。 输入 输入一个小写字母。 输出 输出加密后的字符。 样例输入 a 样例输出 z 数据范围限制 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 char a; 6

    2.1K50发布于 2018-04-12
  • 来自专栏宸机笔记

    RSA加密算法

    gmpy2.mpz(0x10001) phi_n = (p-1)*(q-1) d = gmpy2.invert(e, phi_n) c = gmpy2.mpz(0x346644dfe4c826c07a0ee6e0b2e10862d41aa8

    3.2K10发布于 2020-11-04
  • 来自专栏python3

    python hash

    在 python3 中hash help(hash) Help on built-in function hash in module builtins: hash(obj, /)     Return  the hash value for the given object. #返回给定对象的哈希值     Two objects that compare equal must also have the same hash value, but the     reverse Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-p_w_picpath),通过散列算法,变换成固定长度的输出,该输出就是散列值。     

    1.2K10发布于 2020-01-09
  • 来自专栏HelloCode开发者学习平台

    浅谈Hash

    直接使用Hash 那么目前最优的解决方案就是使用密码的Hash值进行验证 客户端 直接将用户输入的密码进行Hash运算,得到结果发送给服务器验证.因为Hash算法无法逆运算,所以就算Hash值泄露, 那么我们这种加密.无论你怎么玩.妥妥的都是给服务器一个Hash串进行验证啊,也就是我只需要拿到你的Hash值.那么我只要模拟你客户端进行登录是再简单不过了. Hash串+@"201807102249")Hash.这次不通过再来一次 (服务器的Hash串+@"201807102248")Hash.和上一分钟对比,一次通过算成功 这样的好处,可以做到每登录发送给服务器的 Hash值是不一样的.黑客不能通过保存Hash值模拟登录. 这样的网站,在你上传视频的时候,它会将文件的Hash值保存.当其他的网站上传这个视频,那么看是否是正版,就是对比文件的Hash值.

    1.3K20编辑于 2023-03-23
  • 来自专栏Java架构师必看

    Hash 表

    注册码,2020.2 IDEA 激活码 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。 给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。 HashTable的查询速度非常的快,几乎是 O(1)的时间复杂度,hash就是找到一种数据内容和数据存放地址之间的映射关系。而散列法指元素特征转变为数组下标的方法。 * 【4】hashTabel中需要存放对象,我们先创建自己要存放的对象 Emp * 【5】思想:将emp的no根据最简单的散列函数(取模)算出要存放的下标,接着将数据顺序的存放在链表中 * 【6】 放最后了,用来测试 public static void main(String[] args) { HashTable hashTable = new HashTable(6)

    1.3K20发布于 2021-04-30
  • 来自专栏趣谈编程

    神速Hash

    面试官: 聊聊HashMap的底层实现 理解HashMap底层,首先应该理解Hash函数,今天我们聊聊什么是Hash函数以及Hash函数的设计 查找速度的困扰 算法国自建立起,就以快速为至高的荣誉,O( ”何大臣说道,大家一致同意 Hash函数的选择 “那现在的问题就很清晰了,一个是这个Hash函数该选择什么样具体的函数,另一个就是出现冲突该怎么办?” 王大臣说道 “如果是正整数,我们可以用这个正整数数除以某个数,取其余数,即我们常用的 k % m,k为正整数,m 为除数 这样一来,范围就缩小了很多,比如说 15%10=5,26%10=6,... Hash函数,整数应该有整数的Hash函数,字符串应该有字符串的Hash函数 就算针对同一类型的关键字,如果它具有某种规律,我们也要具体情况具体设计,刚才李大臣说的那种情况,我们就得选取其他分布均匀的高位来进行 Hash”右丞相补充道 “那为何不优化一下我们的Hash函数来使得关键字分布均匀,比如说 m 取一个素数,这样就不会出现刚才的情况了,比如说m取11,15,25,45,65,85,95,155,这些数Hash

    1.1K50发布于 2018-01-31
  • 来自专栏个人技术博客

    ②【Hash】Redis常用数据类型:Hash

    f3 python f4 php 4. hmget 获取多个hash表中指定字段的值 hmget key field [field ...] # 同时获取hash表的key——h2中多个字段的值 hmget h2 f1 f2 f3 f4 5. hgetall 获取hash表中指定key的所有域值对(字段和值) hgetall key # 获取hash表中h2的所有域值对 hgetall h2 6. hdel 删除一个或多个hash表字段 hdel key field [field ...] # 删除hash表中h2的多个字段 hdel h2 f1 f3 7. hlen 获取hash表中字段的数量 hlen key # 获取hash表h1的字段数量 hlen h1 # 获取hash表h2的字段数量 hlen h2 8. hexists 确定hash表key中的指定字段是否存在 hexists key field # 0代表不存在,1代表存在 hexists h1 f5 hexists h1 f1 9. hkeys 获取hash表key中所有的字段 hkeys key # 获取hash表key:h1中的所有字段

    83610编辑于 2023-11-23
  • 来自专栏罗西的思考

    NVIDIA HugeCTR,GPU版本参数服务器--- (6) --- Distributed hash表

    [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (6) --- Distributed hash表 目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (6) --- Distributed hash表 0x00 摘要 0x01 简述 1.1 基类 1.2 功能 0x02 定义 2.1 思路 2.2 代码 0x03 HashTable 3.1 定义 3.2 hash_table.get_insert(hash_key.get_ptr(), hash_value_index.get_ptr(), nnz, stream); 就是以 csr 部分信息作为 hash 如果想省空间,就弄一个hash函数 m_hf,假如是选取最高位数为 value,则得到: m_hf(3356)=3 m_hf(667)=6 m_hf(588)=5 3,5,6 就是内部的 hash_value hashtbl_values[3] = 1,hashtbl_values[6] = 2, hashtbl_values[5] =3 于是 1,2,3 就是我们外部想得到的 3356, 667, 588

    1.1K10编辑于 2022-05-09
  • 来自专栏pandacode_cn

    加密算法介绍

    对称加密和非对称加密 加密算法分 对称加密 和 非对称加密,其中对称加密算法的加密与解密 密钥相同,非对称加密算法的加密密钥与解密 密钥不同,此外,还有一类 不需要密钥 的 散列算法。 对称加密 对称加密算法 是应用较早的加密算法,又称为 共享密钥加密算法。在 对称加密算法 中,使用的密钥只有一个,发送 和 接收 双方都使用这个密钥对数据进行 加密 和 解密。 常用加密算法 4.1. 常用算法描述 加密算法 描述 SHA1 SHA1 是 消息摘要算法,SHA1 比 MD5 的 安全性更强。 一个 SECRET_KEY(密钥)扩展成多个子 SK,轮加密 RSA RSA 加密算法是目前最有影响力的 公钥加密算法,并且被普遍认为是目前 最优秀的公钥方案 之一。 非对称加密算法比较 名称 成熟度 安全性 运算速度 资源消耗 RSA 高 高 中 中 ECC 高 高 慢 高 4.3. 对称算法与非对称加密算法 4.3.1.

    1K00编辑于 2023-07-17
领券