合集-算法

摘要:题目 有个需求,我有4种类型,每种类型又有自己的数列,问我如何用一个数字来表示它们 思路 可以看一下java里的线程的实现,它是将一个int64的数字进行分区,每个区间代表一种状态,如运行中,挂起,暂停等,我们也可以通过这个方法来实现。 实现 在int32中,我找一个范围,存储我的运行中状态的数列, 阅读全文
posted @ 2023-11-23 20:31 张占岭 阅读(41) 评论(0) 推荐(0) 编辑
摘要:布隆过滤器(Bloom Filter)是一种高效的概率数据结构,用于判断一个元素是否存在于集合中。它基于位数组和多个哈希函数,并具有以下特点: Bloom Filter 是一个基于概率的数据结构:它只能告诉我们一个元素绝对不在集合内或可能在集合内 快速查询:布隆过滤器具有快速查询的特性。它使用多个哈 阅读全文
posted @ 2023-12-05 14:54 张占岭 阅读(97) 评论(0) 推荐(0) 编辑
摘要:base64 Base64 是一种用于将二进制数据编码成 ASCII 字符的编码方式。它主要用于在文字环境中传输或存储二进制数据,如在电子邮件、XML 文件、URL 参数等。Base64 编码不是一种加密算法,而是一种编码方式,其主要作用是将二进制数据转换为文本数据,以便更容易在文本协议中处理。 B 阅读全文
posted @ 2023-11-16 09:39 张占岭 阅读(178) 评论(0) 推荐(0) 编辑
摘要:之前写过关于totp的文章,对它的基础有不清楚的同学,可以先看我的这篇文章《TOTP基础一》《TOTP基础二》 想到的问题 因为totp是把时间分成了一个一个小的时间窗口,当生成totp的服务器和校验totp的服务器不在一起时间窗口,就会出现验证失败的问题,这是不可避免的,时间戳是一个long类型的 阅读全文
posted @ 2023-11-16 20:10 张占岭 阅读(56) 评论(0) 推荐(0) 编辑
摘要:基础说明 本文根据 RFC4226 和 RFC6238 文档,详细的介绍 HOTP 和 TOTP 算法的原理和实现。 两步验证已经被广泛应用于各种互联网应用当中,用来提供安全性。对于如何使用两步验证,大家并不陌生,无非是开启两步验证,然后出现一个二维码,使用支持两步验证的移动应用比如 Google 阅读全文
posted @ 2023-10-16 10:04 张占岭 阅读(754) 评论(0) 推荐(0) 编辑
摘要:如何将整数按着类型分段,即有个数字3,它可以表示类型1里的计数3;有个数字10005,它可以表求类型2里的5,这种设计主要用在类型和数字关系紧密的场景,向ThreadPoolExecutor用到了这种设计,ThreadPoolExecutor中的runState和workCount机制,实现在一个i 阅读全文
posted @ 2022-03-16 14:18 张占岭 阅读(139) 评论(0) 推荐(0) 编辑
摘要:对称加加密 甲方选择某一种加密规则,对信息进行加密; 乙方使用同一种规则,对信息进行解密。 由于加密和解密使用同样规则(简称"密钥"),这被称为"对称加密算法"(Symmetric-key algorithm)。 这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无法解密。保存和传递密钥, 阅读全文
posted @ 2022-03-04 11:38 张占岭 阅读(262) 评论(0) 推荐(0) 编辑
摘要:参考: https://www.cnblogs.com/adylee/archive/2007/09/14/893438.html https://blog.csdn.net/liwei16611/article/details/86312599 AES介绍 严格地说,AES和Rijndael加密法 阅读全文
posted @ 2020-12-30 10:18 张占岭 阅读(34119) 评论(2) 推荐(1) 编辑
摘要:位运算控制数字范围 通过位运算,可以对一个数进行限制,保证这个数在2n-1(3,7,15,31,63,127,255...)范围内,当大于指定的数时,会取这个0到2n-1里的某个数,不会让它溢出。 之前我写过的位运算的文章 https://www.cnblogs.com/lori/p/3342781 阅读全文
posted @ 2020-08-27 09:13 张占岭 阅读(383) 评论(0) 推荐(0) 编辑
摘要:摘要:在当今的数字世界中,密码安全是至关重要的。为了保护用户密码免受未经授权的访问和破解,Password-Based Key Derivation Function 2 (PBKDF2)算法成为了一种重要的工具。 在 PBKDF2 算法中,SHA 表示 Secure Hash Algorithm, 阅读全文
posted @ 2024-05-08 08:29 张占岭 阅读(1460) 评论(2) 推荐(2) 编辑
摘要:在Java中,重写hashCode()方法时常常会使用31作为乘数,这是因为31具有一些独特的数学性质,使其成为一个优秀的选择。以下是几个原因: 1. 奇质数的特性 31是一个奇数和质数,这意味着它能有效地减少哈希冲突的概率。使用质数作为乘数可以帮助分散哈希值,从而提高哈希表的性能。 2. 位运算效 阅读全文
posted @ 2024-12-25 13:04 张占岭 阅读(131) 评论(0) 推荐(0) 编辑
摘要:摘要 本文根据 RFC4226 和 RFC6238 文档,详细的介绍 HOTP 和 TOTP 算法的原理和实现。 两步验证已经被广泛应用于各种互联网应用当中,用来提供安全性。对于如何使用两步验证,大家并不陌生,无非是开启两步验证,然后出现一个二维码,使用支持两步验证的移动应用比如 Google Au 阅读全文
posted @ 2025-02-24 09:10 张占岭 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示