虽然均值哈希更简单且更快速,但是在比较上更死板、僵硬。
它可能产生错误的漏洞,如果有一个伽马校正或颜色直方图被用于到图像。
这是因为颜色沿着一个非线性标尺-改变其中“平均值”的位置,并因此改变哪些高于/低于平均值的比特数。
一个更健壮的算法叫pHash,(我使用的是自己改进后的算法,但概念是一样的)pHash的做法是将均值的方法发挥到极致。
使用离散余弦变换(DCT)降低频率。
1
openSSL库部分函数的vfp封装类,主要封装以下函数1、HASH类函数:MD5、SHA1、SHA256、SHA5122、HMAC类函数:MD5、SHA1、SHA256、SHA5123、AESencrypt和decrypt:CBC-1284、RSApublicKeyEncrypt和RSAprivateKeyDecrypt5、RSAsign和RSAverify:MD5、SHA1、SHA256、SHA512以上函数为常用,如支付宝支付和微信支付都可用到,openSSL动态链接库:可从我的另外一个上传资源或从官网下载
2023/11/27 20:43:46 17KB openSSL VFP RSA AES
1
区块链技术深度剖析主要是将密码学基础:区块链与密码学、hash函数、公钥密码体制、数字签名等ppt
2023/11/19 15:31:05 4.78MB 区块链
1
可在windows/NT内核中读取系统用户的hash值通过利用彩虹表可以破解
2023/11/15 10:02:30 18KB hash 2003管理员密码破解
1
3.功能性:本系统实现数字内容的数字签名及验签功能。
首先,用户指定需签名的数字内容;
系统计算这份数字内容的Hash值;
然后系统对Hash值进行签名,完成文件的签名操作;
此外,系统中的验签算法可以判断签名是否合法。
4.创新性:目前,同类系统主要采用ECDSA或者SM2等标准数字签名算法进行签名,本系统基于白盒数字签名算法对文件签名,提高了不可信环境中用户签名私钥的安全性。
5.实用性:该系统以纯软件的方式实现不可信环境中的签名操作,成本低。
而且,产生的签名可以用标准算法进行验签,通用性强。
2023/11/14 12:40:31 54.98MB C++ HASH算法 余数系统 数字签名算法
1
InnoDB存储引擎的关键特性包括插入缓冲、两次写(doublewrite)、自适应哈希索引(adaptivehashindex)。
这些特性为InnoDB存储引擎带来了更好的性能和更高的可靠性。
插入缓冲是InnoDB存储引擎关键特性中最令人激动的。
不过,这个名字可能会让人认为插入缓冲是缓冲池中的一个部分。
其实不然,InnoDB缓冲池中有InsertBuffer信息固然不错,但是InsertBuffer和数据页一样,也是物理页的一个组成部分。
主键是行唯一的标识符,在应用程序中行记录的插入顺序是按照主键递增的顺序进行插入的。
因此,插入聚集索引一般是顺序的,不需要磁盘的随机读取。
比如说我们按下列SQ
1
1.对于二叉排序树,下面的说法()是正确的。
A.二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合B.对二叉排序树进行层序遍历可得到有序序列C.用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大D.在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/22.在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为()。
A.O(n)B.O(log2n)C.O(n*log2n)D.O(n2)3.静态查找与动态查找的根本区别在于()。
A.它们的逻辑结构不一样B.施加在其上的操作不同C.所包含的数据元素类型不一样D.存储实现不一样4.已知一个有序表为{12,18,24,35,47,50,62,83,90,115,134},当折半查找值为90的元素时,经过()次比较后查找成功。
A.2B.3C.4D.55.已知数据序列为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为()。
A.4B.5C.6D.76.设散列表表长m=14,散列函数H(k)=kmod11。
表中已有15,38,61,84四个元素,如果用线性探测法处理冲突,则元素49的存储地址是()。
A.8B.3C.5D.97.平衡二叉树的查找效率呈()数量级。
A.常数阶B.线性阶C.对数阶D.平方阶8.设输入序列为{20,11,12,…},构造一棵平衡二叉树,当插入值为12的结点时发生了不平衡,则应该进行的平衡旋转是()。
A.LLB.LRC.RLD.RR二、填空题(每空3分,共24分)。
1.在有序表A[1..18]中,采用二分查找算法查找元素值等于A[7]的元素,所比较过的元素的下标依次为。
2.利用逐点插入法建立序列(61,75,44,99,77,30,36,45)对应的二叉排序树以后,查找元素36要进行次元素间的比较,查找序列为。
3.用顺序查找法在长度为n的线性表中进行查找,在等概率情况下,查找成功的平均比较次数是。
4.二分查找算法描述如下:intSearch_Bin(SSTST,KTkey){low=1;high=ST.length;while(low<=high){mid=(low+high)/2;if(key==ST.elem[mid].key)returnmid;elseif(key<ST.elem[mid].key);else;}return0;}5.链式二叉树的定义如下:typedefstructBtn{TElemTypedata;;}BTN,*BT;6.在有n个叶子结点的哈夫曼树中,总结点数是。
三、综合题(共52分)。
1.(共12分)假定关键字输入序列为19,21,47,32,8,23,41,45,40,画出建立二叉平衡树的过程。
2.(共15分)有关键字{13,28,31,15,49,36,22,50,35,18,48,20},Hash函数为H=keymod13,冲突解决策略为链地址法,请构造Hash表(12分),并计算平均查找长度(3分)。
ASL=3.(共10分)设关键字码序列{20,35,40,15,30,25},给出平衡二叉树的构造过程。
4.(共15分)设哈希表长为m=13,散列函数为H(k)=kmod11,关键字序列为5,7,16,12,11,21,31,51,17
2023/10/29 19:17:51 88KB 数据结构 第九章  查找 作业
1
课程大纲每节课资料提前5天发放第1章本节大纲”破解“算法面试"Hack"theAlgorithmInterview算法面试究竟考什么史上最全的算法面试考点大全2013-2018面试难度变化如何在最有效率的准备算法面试如何在不押题的情况下更有信息的去面试2018/6/24上午9:30:00第2章本节大纲二分与LogN算法BinarySearch&LogNAlgorithm二分法三重境界二分位置之满足条件的第一次-BinarySearchonIndex-OOXX二分位置之保留一半-BinarSearchonIndex-Halfhalf二分答案-BinarySearchonResult学习BinarySearch的通用模板,不再死循环讲解SearchinRotatedSortedArray等10道高频二分搜索题2018/7/1上午9:30:00第3章本节大纲为面试而生的双指针算法TwoPointersAlgorithmTwoSum问题及他的各种扩展TwoSum&Follow-ups其他高频的双指针问题2018/7/2上午9:30:00第4章本节大纲宽度优先搜索和拓扑排序BFS&TopologicalSorting二叉树上的宽搜BFSinBinaryTree二叉树的序列化问题BinaryTreeSerialization图上的宽搜BFSinGraph拓扑排序TopologicalSorting棋盘上的宽搜BFSinChessboard2018/7/15上午9:30:00第5章本节大纲基于树的深度优先搜索Tree-basedDFS二叉树的深度优先遍历BinaryTreeDFSTraversal先序/中序/后序Preorder/inorder/postorder二叉树中的分治算法Divide&ConquerDFS模板IntroduceDFSTemplate二叉树高频面试问题递归三要素遍历算法与分治算法对比TraversevsDivideConquer2018/7/16上午9:30:00第6章本节大纲基于组合的深度优先搜索Combination-basedDFS组合类深搜CombinationDFS排列类深搜PermutationDFS图上的深搜GraphDFS非递归的深搜实现方法Non-Recursion2018/7/22上午9:30:00第7章本节大纲基于排列、图的深度优先搜索Permutation/GraphbasedDFSTBD2018/7/23上午9:30:00第8章本节大纲数据结构-栈,队列,哈希表与堆Stack,Queue,Hash&Heap哈希表Hash常用的哈希库的区别HashSetvsHashMapvsHashTable哈希表的实现原理BasicHashKnowledge哈希函数HashFunction冲突的解决方法Collision开散列OpenHashing闭散列ClosedHashing哈希扩容Rehashing哈希表高频面试题HighFrequentlyAskedHashQuestions堆堆的基本原理BasicHeapKnowledge优先队列与堆的联系和区别PriorityQueuevsHeap堆的高频面试题HighFrequentlyAskedHeapQuestions堆的代替品:TreeMap2018/7/29上午9:30:00第9章本节大纲数据结构-区间、数组、矩阵与树状数组Interval,Array,Matrix&BinaryIndexedTree数组Array子数组及相关面试题Subarray&RelatedQuestions其他高频数组问题HighFrequentAskedArrayQuestionsTBD2018/7/30上午9:30:00课程更新日志
2023/10/26 20:27:35 2.24MB 编程 算法 九章算法 动态规划
1
基于Openssl算法库实现的SM2算法。
实现数字签名和密钥交换,公钥加密没有实现。
全部源代码,需要Openssl库支持,VC工程。
KDF使用标准HASH算法,没有使用SM3。
可参考作者的SM3算法实现KDF。
ECC曲线使用SM2算法建议曲线,内含SM2建议曲线测试。
仅算法过程演示,不适用于工程应用,欢迎提供宝贵意见可进一步完善。
2023/10/26 3:06:58 9KB SM2 密钥交换 数字签名
1
1)、先用Hash表存储c语言中32个关键字,再扫描c源程序取出每个单词,利用Hash查找技术统计该程序中的关键字出现的频度。
发生Hash冲突用线性探测法解决。
设Hash函数为:Hash(key)=[(key的第一个字母序号)*100+(key的最后一个字母序号)]MOD41。
(2)、用顺序表存储c语言中的关键字,把c源程序取出每个单词利用二分查找技术统计该程序中的关键字的出现频度。
2023/10/23 21:22:45 252KB C语言数据结构课程设计
1
共 70 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡