• 2024-05-28网络安全
    一、网络安全概述在早期的互联网(也是一种计算机网络)中数据都是明文传输的,例如直接使用http协议。但由于越来越多的商业和政府的数据也都在互联网传输,直接使用明文传输,相当于让数据在网络中裸奔,而且其他可以直接窃取数据并伪造数据,特别不安全。此时,网络安全就受到重视。计算机网
  • 2024-05-26数据结构与算法学习(07)查找(4)散列、哈希、字典——BUAA
    文章目录查找(4)——散列(Hash)字典介绍散列函数的构造方法直接地址法数字分析法平方取中法叠加法移位叠加法折叠叠加法基数转换法除留余数法随机数法一些好的哈希函数**针对字符串好的哈希函数冲突的处理方法开放地址法线性探测二次探测伪随机特点再散列法链接地址法代
  • 2024-05-25散列(哈希)及其练习题(基础)
    散列导入:有N个数和M个数,如何判断M个数中每个数是否在N中出现?思想:空间换时间创建hashtable,以N个数本身为索引(数组下标)构建boolhashtable输入x的过程中,hashtable[x]=True(若要计算出现次数,换成++)但终归是有局限性!数字只能是整数,还不能太大,等等。散列函数:平房区中法、取余
  • 2024-04-17redis自学(36)散列插槽
    散列插槽Redis会把每一个master节点映射到0~16383共16284个插槽(hashslot)上,查看集群信息时就能看到:  数据key不是与节点绑定,而是与插槽绑定。Reids会根据key的有效部分计算插槽值,分两种情况:l Key中包含“{}”,且“{}”中至少包含1个字符,“{}”中的部分是有效部分l Key中
  • 2024-04-16什么是可散列(hashable)的数据类型
    在Python官方词汇表中,关于hashable类型的定义有这样一段话:Anobjectishashableifithasahashvaluewhichneverchangesduringitslifetime(itneedsahash()method),andcanbecomparedtootherobjects(itneedsaneq()method).Hashableobjectswhichcompa
  • 2024-04-15深度探索:Secure Hash Algorithm(SHA)全景解析
    title:深度探索:SecureHashAlgorithm(SHA)全景解析date:2024/4/1518:33:17updated:2024/4/1518:33:17tags:SHA安全抗碰撞性算法版本实现细节性能优化发展历史应用案例密码学中的哈希函数一、哈希函数的定义哈希函数是一种数学函数,它接受任意长度的输入数据(
  • 2024-04-10布隆过滤器 及 Redis Sorted sets 使用注意事项
    布隆过滤器基本概念布隆过滤器(英语:BloomFilter)是1970年由伯顿·霍华德·布隆(BurtonHowardBloom)提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有
  • 2024-04-10哈希(散列)查找
    1.哈希表(HashTable)(1)哈希表定义又称散列表,是一种数据结构,数据元素的关键字与其存储地址直接相关(2)同义词若不同的关键字通过散列函数映射到同一个值,则称为“同义词”(3)冲突通过散列函数确定的位置已经存放了其他元素,则称这种情况为“冲突”(4)填装因子装填因子=表中记录
  • 2024-04-08如何用加密技术守护你的数字世界(5):单向散列函数
    该文章Github地址:https://github.com/AntonyCheng/encryption-notes【有条件的情况下推荐直接访问GitHub以获取最新的代码更新】在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template【有条件的情况
  • 2024-04-07Java 散列码
    1.散列机制是如何工作的?2.在使用散列容器时怎样编写hashCode()和equals()方法。带有hash思想的容器,要求必须定义hashCode()。你必须为散列存储和树型存储都创建一个equals()方法,但是hashCode()只有在这个类将会被置于HashSet或者LinkedHashSet中时才是必须的。散列码是“
  • 2024-04-06散列基础知识
    一)散列的基本概念散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存入到此存储单元中。检索时,用同样的方法计算地址,然后到相应的单元里去取要找的结点
  • 2024-04-05Java中常用的加密算法及其实现原理详解(二)
    本系列文章简介:        随着互联网的快速发展,信息的安全保护愈发重要。在软件开发中,加密算法被广泛应用于数据的加密和解密过程中,以保护敏感信息的机密性和完整性。Java作为一种广泛应用于企业级开发的编程语言,也提供了丰富的加密算法库。        本文将介绍
  • 2024-03-31常见网络数据加密方式
    常见网络数据加密方式1.0单向散列加密这种加密方式的典型是MD5加密,优点:方便存储,损耗低缺点:存在暴力破解的可能散列加密的特点就是从明文到密文的不可映射性,导致我们无法根据加密算法设计出解密算法这种加密的解密方式就是明文到密文,密文有了,就可解密,复杂一点的密文解密可能
  • 2024-03-29保障安全的散列算法 - SHA256
    引言SHA-256是由美国国家安全局(NSA)开发的SHA-2密码哈希函数之一,用于数字签名和区块链。在计算机科学和信息安全领域,SHA-256(安全哈希算法256位)是广受欢迎且常被使用的密码学散列函数。SHA-256产生一个唯一、定长的256位(32字节)散列值,不仅可以用于密码学中信息的安全
  • 2024-03-12Android获取散列秘钥(KeyHash)
    1.下载openssl,地址:https://code.google.com/archive/p/openssl-for-windows/downloads2.解压openssl3.将.keystore放到openssl的bin目录下4.执行keytool-exportcert-alias签名的alias名称-keystore签名.keystore|opensslsha1-binary|opensslbase64备注:如果出现
  • 2024-02-15chapter3-排序和查找2
    2.基础查找所谓查找,就是在查找空间中找寻符合要求的解的过程。查找方法有多种,下面简单介绍3种。不同的策略对查找的效率和结果有不同的影响。2.1线性查找从首元素开始,遍历整个序列,直到找到目标元素,则结束算法;或者遍历完序列还没有匹配,则查找失败结束算法。时间复杂度为O(n)。
  • 2024-01-23线性表(散列)- 哈希表
    哈希表散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表HashSetandHashMap哈希表使用O(N)空间复杂度存储数据,并
  • 2023-12-15线性探测法的查找函数 整型关键字的散列映射
    一、 实验目的掌握哈希表二、  实验内容实验题目线性探测法的查找函数整型关键字的散列映射  三、   设计文档 1.   2.   四、   源程序  1. PositionFind(HashTableH,ElementTypeKey){    intflag=0;    Positionp
  • 2023-12-14整型关键字的散列映射
    #include<iostream>#include<vector>#define_CRT_SECURE_NO_WARNINGS1usingnamespacestd;intmain(){intn,p;//scanf("%d%d",&n,&p);cin>>n>>p;vector<int>a(p,-1);while(n--){intx;
  • 2023-11-30查找 - 散列表
    散列表(哈希)相关定义散列表:有限连续的地址空间。冲突:不同关键字对应同一个散列地址。冲突是不可避免的。同义词:发生冲突的不同关键字。构造散列函数原则减少冲突。散列地址分布均匀。常用方法直接定址1)条件:已知关键字每一位的数字分布情况。2)操作:从关键字中提取
  • 2023-11-23RIPEMD加密技术
    摘要:RIPEMD(RACEIntegrityPrimitivesEvaluationMessageDigest)是一种密码散列函数,广泛应用于网络安全领域。本文首先介绍RIPEMD的起源和基本原理,然后分析其算法流程和优化策略,最后讨论RIPEMD在实际应用中的优势与局限。RIPEMD在线加密--一个覆盖广泛主题工具的高效在线平台(am
  • 2023-11-23RIPEMD加密技术
    摘要:RIPEMD(RACEIntegrityPrimitivesEvaluationMessageDigest)是一种密码散列函数,广泛应用于网络安全领域。本文首先介绍RIPEMD的起源和基本原理,然后分析其算法流程和优化策略,最后讨论RIPEMD在实际应用中的优势与局限。RIPEMD在线加密--一个覆盖广泛主题工具的高效在线平台(
  • 2023-11-16文心一言 VS 讯飞星火 VS chatgpt (136)-- 算法导论11.3 2题
    二、用go语言,假设将一个长度为r的字符串散列到m个槽中,并将其视为一个以128为基数的数,要求应用除法散列法。我们可以很容易地把数m表示为一个32位的机器字,但对长度为r的字符串,由于它被当做以128为基数的数来处理,就要占用若干个机器字。假设应用除法散列法来计算一个字符串
  • 2023-11-12文心一言 VS 讯飞星火 VS chatgpt (133)-- 算法导论11.2 5题
    五、用go语言,假设将一个具有n个关键字的集合存储到一个大小为m的散列表中。试说明如果这些关键字均源于全域U,且|U|>nm,则U中还有一个大小为n的子集,其由散列到同一槽位中的所有关键字构成,使得链接法散列的查找时间最坏情况下为O(n)。文心一言:这个问题涉及到的是散列表(哈希表)的基
  • 2023-11-05UUID 的 5 个版本
    UUID 的全称是 UniversallyUniqueIdentifier,中文为通用唯一识别码。在对UUID进行说明之前,我们来看一个标准的UUID。下面就是一个标准的UUID,使用横杠分隔符来进行分隔: 123e4567-e89b-42d3-a456-556642440000xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxxUUID结构有关版