算法
文章平均质量分 62
啊拉丁的鱼
这个作者很懒,什么都没留下…
展开
-
mybatis plus 实现敏感数据的加密
最近在做项目,需要实现对身份证,密码等敏感数据的加密,即不能以明文存储密码到数据库。 上网查了一下资料,解决办法如下:写加密解密的工具类import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;public class AES { /转载 2022-04-22 18:47:24 · 1161 阅读 · 1 评论 -
谷歌Guava工具类的使用(1):BloomFilter的使用
谷歌Guava工具类的使用(1):BloomFilter的使用具体代码实现如下所示:// 创建布隆过滤器,设置存储的数据类型,预期数据量,误判率 (必须大于0,小于1)int insertions = 10000000;double fpp = 0.0001;BloomFilter<String> bloomFilter = BloomFilter.create(Funnels.stringFunnel(Charset.defaultCharset()), insertions,转载 2021-08-12 13:57:29 · 833 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)原理及Guava中的具体实现
目录引子 布隆过滤器介绍 产生的契机 设计思想 优缺点与用途 假阳性率的计算 Guava中的布隆过滤器 BloomFilter类的成员属性 BloomFilter的构造 估计最优m值和k值 哈希策略 位数组具体实现 总结引子最近在研究推荐系统中已读内容排除以及重复内容去重相关的问题,布隆过滤器是解决这类问题最好的工具之一,很值得专门写一篇文章来详细讲解。布隆过滤器介绍布隆过滤器(Bloom Filter,下文简称BF)由Burton Howar转载 2021-08-12 13:55:46 · 841 阅读 · 0 评论 -
布隆过滤器的误判率该如何计算?
作者:胡慢慢滚雪球链接:https://www.zhihu.com/question/38573286/answer/507497251来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。在计算机中,判断一个元素是不是在一个集合中,通常是用hash来解决,这在数据量不大的时候是可以的,但是当数据量很大的时候存储空间就会爆炸。一个象 Yahoo,Hotmail 和 Gmai 那样的公众电子邮件(email)提供商,总是需要过滤来自发送垃圾邮件的人(spamer)的垃.转载 2021-06-22 15:45:07 · 2520 阅读 · 1 评论 -
区块链核心技术:拜占庭共识算法之PBFT
PBFT是Practical Byzantine Fault Tolerance的缩写,意为实用拜占庭容错算法。该算法是Miguel Castro (卡斯特罗)和Barbara Liskov(利斯科夫)在1999年提出来的,解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。该论文发表在1999年的操作系统设计与实现国际会议上(OSDI99)。没错,这个Loskov就是提出著名的里氏替换原则(LSP)的人,2008年图灵奖得主。摘要部分转载 2020-07-22 16:44:08 · 850 阅读 · 0 评论 -
Algorand算法实现(一)
Algorand算法实现(一)判断节点是potential leader的条件:H(Sig(r, 1, Br-1)) <= 1 / size(PKr-k)size(PKr-k)为第r-k轮中网络中参与区块共识的公钥个数(也就是钱包的数目)verifier的选择定义回看参数k,概率p输入参数:(r, s, Br-1): 其中r为第r轮,s为第s步,B...转载 2020-01-17 11:47:24 · 437 阅读 · 0 评论 -
Algorand 共识算法 BA* 入门
备注:私有链时:P=验证者的数量除以用户总数量 也就是一个用户的的凭证哈希值小于它,就被选为验证者 。转自:https://zhuanlan.zhihu.com/p/32282367...转载 2019-12-20 17:43:47 · 349 阅读 · 0 评论 -
RSA与ECC的比较与选择
数字签名技术已经广泛使用于网络安全协议或分布式系统中,目前比较流行的数字签名算法有RSA和ECDSA。很多同学在产品设计中往往都难以区分RSA和ECDSA的优劣,所以笔者将基于自己的实践,来给出一些初步的建议。1. 密码强度比较Symmetric ECC RSA 80 163 1024 112 233 2240 128 28...转载 2019-11-14 14:22:10 · 3614 阅读 · 0 评论 -
Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
Crypto++入门学习笔记(DES、AES、RSA、SHA-256)最先附上下载地址背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip):最近,基于某些原因和需要,笔者需要去了解一下Crypto++库,然后对一些数据进行一些加密解密的操作。笔者之前没接触过任何加密解密方面的知识(当然,把每个字符的ASCII值加1之流对明文进行加密的“趣事”还是干过的,...转载 2019-11-13 14:15:43 · 721 阅读 · 0 评论