首页
密码学
编码
算法
Server
Rust
Redis
Linux
数据库
MYSQL
Tools
瞬间
关于
友情链接
DataForge
Easy to understand and humorous
行动起来,活在当下
累计撰写
49
篇文章
累计创建
5
个标签
累计收到
3
条评论
栏目
首页
密码学
编码
算法
Server
Rust
Redis
Linux
数据库
MYSQL
Tools
瞬间
关于
友情链接
DataForge
目 录
CONTENT
以下是
fengyang
的文章
2025-06-23
加密模式与填充模式
本文系统介绍了加密算法的核心类型:摘要算法(如MD5、SHA系列)生成固定长度、不可逆的密文,用于数据完整性验证;对称加密(如AES、DES)使用单一密钥,加解密效率高;非对称加密(如RSA)采用公私钥对,解决密钥分发问题。分组密码(ECB/CBC/CFB/OFB/CTR等模式)处理固定数据块,流密码则连续处理数据流,其中ECB模式安全性低,CBC模式通过链式增强安全性。填充模式(如PKCS5Padding)确保数据块长度符合算法要求,默认为ECB/PKCS5Padding。
2025-06-23
15
0
0
算法
2025-06-19
算法概述
本文概述了通用加密算法的分类及核心特点。主要分为对称加密(如AES、DES、SM4,速度快但密钥管理难)、非对称加密(如RSA、ECC、SM2,安全性高但速度慢)及哈希算法(如MD5、SHA、SM3)。实际应用中,常结合两者优势:用非对称加密(如RSA)传输对称加密(如AES)的密钥,既解决密钥分发问题,又兼顾效率。此外,还介绍了国密算法(SM系列)、Base64编码、HMAC认证机制等,强调不同算法在安全性与性能上的权衡,以及数据库加密系统的分层防护策略。
2025-06-19
17
0
0
算法
2025-06-16
非对称加密算法: RSA、SM2、SM9
本文概述了非对称加密算法的核心内容。非对称加密使用公私钥对,公钥加密需私钥解密,私钥加密需公钥解密,安全性高但运算速度慢。常见算法包括RSA、ECC和ElGamal。RSA作为应用最广的公钥算法,基于大数分解难题,适用于数字签名、密钥交换等场景,但密钥生成复杂且分组长度大。中国国密算法SM2(ECC类型)以256位密钥提供超过RSA-2048的安全性,密钥更短、生成更快,广泛应用于电子政务、移动支付等领域。SM9为标识加密算法,直接使用用户标识(如手机号)作公钥,简化证书管理,适用于云服务、物联网等场景。
2025-06-16
29
1
1
算法
2025-06-13
XOR
异或运算(XOR)用于判断两个值是否不同:相同则结果为0,不同则结果为1,符号为^。真值表显示0^0=0、0^1=1、1^0=1、1^1=0。运算律包括:x^x=0、x^0=x、可交换(x^y=y^x)、可结合(x^(y^z)=(x^y)^z)。位运算技巧:x^y计算不进一和,x&y<<1计算进一和,x&(x-1)删除最后一位1,x&1判断末位是否为1。
2025-06-13
26
0
0
编码
2025-06-06
Unicode
本文介绍了Unicode编码的诞生与发展。ASCII编码仅支持拉丁字母,无法满足多语言需求,Unicode应运而生,为全球字符分配唯一编号(0x000000至0x10FFFF)。其存储方式包括UTF-8(变长1-4字节,兼容ASCII,无字节序问题)、UTF-16(2或4字节,需BOM标记大小端)和UTF-32(固定4字节,需BOM)。大小端存储模式影响多字节数据的读取顺序,UTF-8因高效兼容成为互联网主流编码。
2025-06-06
9
0
0
编码
2025-05-19
BASE64
Base16、Base32、Base64编码可通过字符集区分:Base16使用16字符(1-9, A-F),Base32使用32字符(A-Z, 2-7),Base64使用64字符(A-Z, a-z, 0-9, +, /)及填充“=”。Base64将二进制数据分6位块编码,长度为4的倍数,通过“=”填充不足部分,常用于二进制数据传输(如电子邮件),但数据膨胀1/3。三者均为编码方式,非加密,字符集数量是核心区别点。
2025-05-19
4
0
0
编码
2025-05-11
ASCII 编码
ASCII是美国信息交换标准代码,基于拉丁字母的单字节编码系统,用于显示现代英语和西欧语言。它是最通用的单字节编码,等同于ISO/IEC 646标准。ASCII收录128个字符,包括基本拉丁字母、阿拉伯数字、标点符号、特殊符号及控制字符(不显示),其中大写字母、小写字母和数字连续分布。二进制和十六进制可直接转换为ASCII编码。文章还提供了Java和Python代码示例演示其应用。
2025-05-11
8
0
0
编码
2025-05-08
编码技术 Kaiser
恺撒密码是一种简单且广为人知的替换加密技术,通过将字母表中的字母按固定数目偏移实现加密。例如,偏移量为3时,A变成D,B变成E等。该方法以古罗马恺撒命名,他曾用此与将军们通信。恺撒密码通常作为更复杂加密方法的步骤,其破解主要依靠字母频率分析,如英语中字母"e"出现频率最高。文章还提供了Java和Rust语言的加解密代码实现。
2025-05-08
22
1
2
编码
2024-10-06
IDEA 配置项目的JVM运行内存大小
文章指出IDEA默认服务启动占用1G内存,可通过配置JVM参数优化。关键参数包括设置堆大小(-Xms/-Xmx)、新生代(-Xmn)和Metaspace(-XX:MetaspaceSize)。在IDEA中,通过运行/调试配置添加虚拟机选项实现。示例配置128MB堆,经检测工具验证堆内存使用率降至5.47%,非堆内存使用率60.11%,有效减少内存占用。
2024-10-06
25
0
0
Tools
2024-10-06
IntelliJ IDEA的自动导入
本文介绍了IDE中自动添加导入语句的配置方法。用户可通过设置路径Editor→General→Auto Import,勾选"动态添加明确的import"选项,使IDE在粘贴代码时自动插入缺失的import语句,并可设置为"询问"或"从不"来控制插入行为。此外,用户还可通过Editor→Code Style→Java/Kotlin→Imports路径配置导入优化规则,包括类数量阈值、包排除列表和导入排序规则等。
2024-10-06
13
0
0
Tools
1
2
3
4
5