算法
文章平均质量分 60
秦岭熊猫
喜欢运动,喜欢结交朋友,希望可以结识更多的志同道合的朋友一起学习成长。欢迎留言交流。联系邮箱:liinux@qq.com
展开
-
FNV摘要HASH算法实战
HASH算法介绍Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一地确定输入值。 数学表述为:h = H(M) ,其中H( )--单向散列函数,M--任意长度明文,h--固定长度散列值。HASH算法的实际应用-加密常见的哈希加密算法:MD5,SHA-1,SH原创 2021-04-17 14:29:52 · 891 阅读 · 0 评论 -
程序开发中常用的密码学家的算法推荐清单
1. 背景文中所列出的推荐算法皆已经过全世界密码学家验证和各国际标准化组织认证, 并在市场中广泛应用, 有望在未来足够长的时间内保证安全性和实现性能。2. 密码学家的工具箱2.1 散列算法散列算法是密码学算法中非常重要的一个分支, 通过对所有数据提取指纹信息以实现数据签名、 数据完整性校验等功能。用于消息唯一性和数据完整性验证的散列函数, 其安全性依赖于函数本身的属性和对抗碰撞的抵抗, 因此散列函数的选择至关重要。MD 系列函数已宣告破解, 可被轻易伪造, 不能作为安全散列函数使用。原创 2021-04-17 13:33:55 · 640 阅读 · 0 评论 -
编程中常见的安全算法
注: 代码来源于自己的整理,全部测试通过,应该没有坑,使用中自己测试赠别。本文整理了常见的安全算法,包括MD5、SHA、DES、AES、RSA等,并写了完整的工具类(Java 版),工具类包含测试。一、数字摘要算法数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的Hash重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了,因此消息摘要能够验证消息的完整性。消原创 2021-04-17 13:08:18 · 351 阅读 · 0 评论 -
最快的摘要算法XXHash算法的JAVA实现
xxHash是一个非常快的哈希算法,能在限制速度的RAM上运行。 它成功完成了SMHasher测试套件,它可以评估散列函数的冲突,色散和随机性。 代码非常便于携带,所有平台上的散列都相同(小/大)。测试对比参考:https://blog.csdn.net/tianshan2010/article/details/115775292public class XXHash { private static final int PRIME1 = (int) 2654435761L; private原创 2021-04-17 01:38:28 · 2920 阅读 · 0 评论 -
最快的摘要HASH算法测试
最快的摘要HASH算法测试xxHash我们常见的HASH算法有MD系列,目前最快的HASH算法XX系列。Hash Name Width Bandwidth (GB/s) Small Data Velocity Quality Comment XXH3(SSE2) 64 31.5 GB/s 133.1 10 XXH128(SSE2) 128 29.6 GB/s 118.1 10 RAM s...原创 2021-04-17 01:30:53 · 2220 阅读 · 0 评论 -
IDA Pro7使用总结
一些二进制工具在《IDA pro权威指南》的开篇一两章中,先是介绍了几款常用于二进制研究的工具,我这里简单的记了几个,介绍一波:C++filt:可以用于显示出c++中复杂的重载后的函数名称PE tools:是一组用于分析Windows系统中正在运行的进程和可执行文件的工具string:可以用于直接搜索出elf文件中的所有字符串参数-a 表示搜索整个文件,参数-t 可以显示出每一个字符串的偏移,参数-e 可以用于搜索更多的字符编码的字符串,如Unicode编码strip:可用于原创 2020-12-30 13:37:58 · 937 阅读 · 0 评论 -
利萨茹(Lissajous)曲线动画演示
Lissajous 曲线的动画演示随着常数 m 和 n 的变化,参数方程 x = sin(m · t), y = sin(n · t) 将会画出一系列漂亮的曲线。法国物理学家 Jules Antoine Lissajous 曾在 1857 年研究过这类曲线,因此人们把它叫做 Lissajous 曲线。我在reddit上看到了一个 Lissajous 曲线的动画演示,觉得看起来确实非常爽;但那个动画里没有解释曲线的生成方法,很多细节也有让人不太满意的地方,于是决定自己制作一个。这个动画展示的是 m =..原创 2020-11-02 01:20:42 · 2265 阅读 · 0 评论 -
常见加解密算法详解
本文主要介绍移动端的加解密算法的分类、其优缺点特性及应用,帮助读者由浅入深地了解和选择加解密算法。文中会包含算法的关键代码,以利于读者理解使用。算法分类根据加密结果是否可以被解密,算法可以分为可逆加密和不可逆加密(单向加密),从这个意义上来说,单向加密只能称之为加密算法而不是加解密算法。对于可逆加密,又可以根据密钥的的对称性分为对称加密和非对称加密。具体的分类结构如下:可逆加密 对称加密:DES,3DES,AES,PBE 非对称加密:RSA,DSA,ECC 不可逆加密(单向加密):MD5,原创 2020-05-17 10:18:17 · 4803 阅读 · 0 评论 -
密码学和加密数字货币的简介
所有货币都需要一些方法来控制供应,并强制执行各种安全属性以防止作弊。在法定货币方面,像中央银行这样的组织控制货币供应量,并对实体货币增加防伪功能。这些安全功能提高了对攻击者的防范能力,但是他们不可能不赚钱地进行伪造。最终,执法对于阻止人们违反制度规则是必要的。加密数字货币也必须采取安全措施,防止人们篡改系统状态,并避免对不同的人造成不一致的陈述。如果Alice说服Bob,她给他一个数字货币,例如,她不应该说服卡罗尔,向卡罗尔支付同一个数字货币。与法定货币不同的是,加密货币的安全规则需要纯粹在技术上执行,原创 2020-05-17 10:16:04 · 5829 阅读 · 0 评论 -
移动商务智能的加密算法
序言BI应用的主要对象是对数据安全非常敏感的企业,这就要求我们在Mobile BI的开发过程中要特别注意对数据的存储、通信、验证等进行保护,而加密算法可以防止数据的读取、确保数据的完整性以及实现身份认证,这篇文章对应用普遍的加密算法进行简单的介绍,以便在后继Mobile BI安全功能的讲解中可以对安全功能实现的理论基础有一个清晰的认知。加密算法可以简单的分为“对称密钥加密算法”和“非对称密钥加密算法”,这是以加解密过程中使用的密钥是否相同来区分的:“对称加密算法”是指加密和解密使用同一个密钥,一原创 2020-05-17 10:06:04 · 1805 阅读 · 0 评论 -
张景中:把数学变容易大有可为
数学重要,但难学。改善数学教育是世纪性世界大课题。 30年前,我在一本书里提出了“教育数学”的想法。所谓教育数学,就是为教育改造数学,把数学变得更容易。要让概念更平易,推理更简捷,方法更有力。 40多年前,我在新疆一个农场中学教数学时,有几件事情启发了我,让我认识到数学能够变得更容易。1977年的一道高考题,我用小学里的面积计算方法做出来了。1978年的一道奥数题,我...原创 2020-03-27 23:23:41 · 285 阅读 · 0 评论 -
Windows下使用RoboCopy命令进行文件夹增量备份
RoboCopy,它是一个命令行的目录复制命令,自从Windows NT 4.0 开始就成为windows 资源工具包的一部分,然后在Windows Vista、Windows 7和 Windows Server 2008采用作为标准的功能。Windows 7的此项功能也得到升级——已经可以支持多线程了,这就意味着可以大大提升复制速度。而且该功能可以创建两个文件结构完全的镜像副本而不复制任何不需要...原创 2020-03-14 21:37:37 · 1369 阅读 · 0 评论 -
cmd for语句的用法
终极dos批处理循环命令详解格式:FOR [参数] %%变量名 IN (相关文件或命令) DO 执行的命令 作用:对一个或一组文件,字符串或命令结果中的每一个对象执行特定命令,达到我们想要的结果。 注意:在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable,而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 关于:for命令可以带...原创 2020-03-14 20:35:14 · 2577 阅读 · 0 评论 -
GBDT与XGBOOST
Boosting方法实际上是采用加法模型与前向分布算法。在上一篇提到的Adaboost算法也可以用加法模型和前向分布算法来表示。以决策树为基学习器的提升方法称为提升树(Boosting Tree)。对分类问题决策树是CART分类树,对回归问题决策树是CART回归树。1、前向分布算法 引入加法模型 在给定了训练数据和损失函数L(y,f(x))L(y,f(x))的条件下,可以...原创 2020-01-16 23:35:30 · 232 阅读 · 0 评论 -
使用Standford coreNLP进行中文命名实体识别(NER)
Stanford CoreNLP是一个比较厉害的自然语言处理工具,很多模型都是基于深度学习方法训练得到的。先附上其官网链接:https://stanfordnlp.github.io/CoreNLP/index.html https://nlp.stanford.edu/nlp/javadoc/javanlp/ https://github.com/stanfordnlp/CoreNL...原创 2020-01-16 23:34:53 · 3620 阅读 · 3 评论 -
什么是深度学习?45分钟理解深度神经网络和深度学习 刘利刚教授
什么是深度学习?-45分钟理解深度神经网络和深度学习刘利刚中国科学技术大学图形与几何计算实验室http://staff.ustc.edu.cn/~lgliu【绪言】近年来,人工智能(Artificial Intelligence, AI)和深度学习(Deep Learning, DL)非常火爆,在各个领域得到了广泛的应用。在笔者所从事的计算机图形学领域,也出现...原创 2020-01-16 13:29:20 · 2503 阅读 · 1 评论 -
分布式系统基本原理介绍
本文作者:Guanzhou Song1 概念1.1 模型节点在具体的工程项目中,一个节点往往是一个操作系统上的进程。在本文的模型中,认为节点是一个完整的、不可分的整体,如果某个程序进程实际上由若干相对独立部分构成,则在模型中可以将一个进程划分为多个节点。异常 机器宕机:机器宕机是最常见的异常之一。在大型集群中每日宕机发生的概率为千分之一左右,在实践中,一台宕机的机器恢复的...转载 2020-01-05 23:39:33 · 432 阅读 · 0 评论 -
基于DGCNN和概率图的轻量级信息抽取模型
背景:前几个月,百度举办了“2019语言与智能技术竞赛”,其中有三个赛道,而我对其中的“信息抽取”赛道颇感兴趣,于是报名参加。经过两个多月的煎熬,比赛终于结束,并且最终结果已经公布。笔者从最初的对信息抽取的一无所知,经过这次比赛的学习和研究,最终探索出在监督学习下做信息抽取的一些经验,遂在此与大家分享。信息抽取赛道:“科学空间队”在最终的测试结果上排名第七笔者在最终...原创 2019-12-13 23:08:49 · 335 阅读 · 0 评论 -
最速降线求解的数学模型
一、最速降线的问题提出考虑如下运动质点从一个定点运动到不在其垂直下方的任意一个点(即排除自由落体运动),整个运动过程只受重力作用,不计摩擦力,那么问质点应该沿什么样的曲线下滑,才能使得运动时间最少?由于质点运动的曲线有无穷多种情况,怎么在这些曲线簇中找到那条使得下降时间最短的曲线?就被称之为最速降线问题,是由意大利科学家伽利略在1630年提出的。当时伽利略认为这个曲线是一个圆,可是...原创 2019-12-08 08:48:03 · 10880 阅读 · 3 评论 -
T5: Text-To-Text Transfer Transformer
Introduction简单介绍了NLP的发展近况,Pre-training大行其道blabla……这个工作的基本思想是把所有的NLP问题都可以定义成“text-to-text”问题,即“输入text,输出text,一个模型干所有”。具体到这个工作,主要考虑了machine translation、question answering、abstractive summarization和t...原创 2019-12-06 22:46:36 · 971 阅读 · 0 评论 -
Halcon和Opencv区别
Halcon:机器视觉行业里知名的商业视觉库,非开源的,在国内市场份额处于第一,其提供了1500个多个API算子供开发人员使用,有些编程基础的都可以轻松的入门,其调试也是很方便的,断点单步运行,图像变化随时可以看到。Halcon算子可以被C++,VB,C#,Delphi等开发语言调用,同时算子也提供COM版,原则上,支持COM的所有语言都是可以调用Halcon算子的,所以其开发灵活性和调试方便性深...原创 2019-12-06 22:39:18 · 2270 阅读 · 1 评论 -
排列组合计算问题中的卡塔兰数(Catalan Number)
关于卡特兰数卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120...原创 2019-12-01 15:08:30 · 1353 阅读 · 0 评论 -
三角函数和角与差角公式的图形解释
我们知道通过几何学方法,可以对三角函数中的“和角公式”和“余弦定律”进行证明。此次我们换一种非常好用的图形证明法,简直是一图胜千言,可以帮助我们顺利推导出正弦、余弦和正切的和角、差角公式,而且让你一辈子都忘不了!让我们从正弦和余弦的和角公式开始吧!我一直坚持:优美的图形胜过任何一个多余的文字!废话不说,先看下图:矩形的长边:sin(α+β)=sinαcosβ+cosαsi...原创 2019-12-01 14:54:38 · 11421 阅读 · 0 评论 -
密码分析学中常见的攻击模式
在假设密码分析者已知所用加密算法全部知识的情况下,根据密码分析者对明文、密文等数据资源的掌握程度,可以将 针对加密系统的密码分析攻击类型分为以下四种:① 惟密文攻击(Ciphtext-only attack)在惟密文攻击中,密码分析者知道密码算法,但仅能根据截获的密文进行分析,以得出明文或密钥。由于密码分析者所能利用的数据资源仅为密文,这是对密码分析者最不利的情况。②已知明文攻击...原创 2019-12-01 14:21:10 · 3266 阅读 · 0 评论 -
相亲中的最优停止理论-相亲中的数学
问题描述在每期《非诚勿扰》节目上,面对一位位男嘉宾,24 位单身女生要做出不止一次“艰难的决定”:到底要不要继续亮灯?要不要爆灯?把灯灭掉意味着放弃了这一次机会,继续亮灯则有可能结束节目之旅,放弃了未来更多的选择。在现实中,面对男生们前仆后继的表白,MM 们也少不了这样的纠结。如果遇到了一个优秀的男生,应该接受还是拒绝呢?如果接受了他,万一下一个更好的话那可就亏大了;可如果为此而拒绝掉一个...原创 2019-12-01 14:14:27 · 2181 阅读 · 8 评论 -
好的博客地址
https://blog.csdn.net/qq_27384769/article/category/7331824https://blog.csdn.net/tototuzuoquan原创 2018-12-20 20:45:37 · 201 阅读 · 0 评论 -
伪随机数生成算法-梅森旋转算法Java实现-MersenneTwister
package ec.util;import java.io.*;/** * <h3>MersenneTwister and MersenneTwisterFast</h3> * <p><b>Version 22</b>, based on version MT199937(99/10/29) * of the Mers...原创 2018-10-21 23:33:16 · 1449 阅读 · 0 评论 -
伪随机数生成算法-梅森旋转算法Java实现(快速版)-MersenneTwisterFast
package ec.util;import java.io.*;import java.util.*;/** * <h3>MersenneTwister and MersenneTwisterFast</h3> * <p><b>Version 22</b>, based on version MT199937(99/10...原创 2018-10-21 23:31:26 · 1272 阅读 · 0 评论 -
伪随机数生成算法-梅森旋转(Mersenne Twister/MT)算法介绍
今天主要是来研究梅森旋转算法,它是用来产生伪随机数的,实际上产生伪随机数的方法有很多种,比如线性同余法,平方取中法等等。但是这些方法产生的随机数质量往往不是很高,而今天介绍的梅森旋转算法可以产生高质量的伪随机数,并且效率高效,弥补了传统伪随机数生成器的不足。梅森旋转算法的最长周期取自一个梅森素数,由此命名为梅森旋转算法。常见的两种为基于32位的MT19937-32和基于64位的MT19...原创 2018-10-21 23:28:10 · 14553 阅读 · 0 评论