yx_tool
library
Classes
AbstractInt <T extends Number >
AEADChaCha20Poly1305
AEAD ChaCha20Poly1305
Chacha7539引擎扩展BaseStreamCipher 丹尼尔·J·伯恩斯坦的ChaCha20的RFC版本。除其他更改外,它使用了一个12字节的IV
AES
AES加密算法实现
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法
相关概念说明:
mode: 加密算法模式,是用来描述加密算法(此处特指分组密码,不包括流密码,)在加密时对明文分组的模式,它代表了不同的分组方式
padding: 补码方式是在分组密码中,当明文长度不是分组长度的整数倍时,需要在最后一个分组中填充一些数据使其凑满一个分组的长度。
iv: 在对明文分组加密时,会将明文分组与前一个密文分组进行XOR运算(即异或运算),但是加密第一个明文分组时不存在“前一个密文分组”,
因此需要事先准备一个与分组长度相等的比特序列来代替,这个比特序列就是偏移量。
Asymmetric
BCrypt
BCrypt implements OpenBSD-style Blowfish password hashing using the scheme described in
"A Future-Adaptable Password Scheme" by Niels Provos and David Mazieres.
BCryptPasswordEncoder
Implementation of PasswordEncoder that uses the BCrypt strong hashing function. Clients
can optionally supply a "version" ($2a, $2b, $2y) and a "strength" (a.k.a. log rounds
in BCrypt) and a SecureRandom instance. The larger the strength parameter the more work
will have to be done (exponentially) to hash the passwords. The default value is 10.
BetweenFormatter
时长格式化器,用于格式化输出两个日期相差的时长
根据{@link Level}不同,调用{@link #format()}方法后返回类似于:
Byte
限制int为8位Byte
Checksum
表示数据校验和的接口。
CRC16Ansi
CRC16_ANSI
CRC16CCITT
CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或
0x8408是0x1021按位颠倒后的结果。
CRC16CCITTFalse
CRC16_CCITT_FALSE:多项式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或
CRC16Checksum
CRC16DNP
CRC16_DNP:多项式x16+x13+x12+x11+x10+x8+x6+x5+x2+1(0x3D65),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或
0xA6BC是0x3D65按位颠倒后的结果
CRC16IBM
CRC16_IBM:多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0x0000异或
0xA001是0x8005按位颠倒后的结果
CRC16Maxim
CRC16_MAXIM:多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或
0xA001是0x8005按位颠倒后的结果
CRC16Modbus
CRC-16 (Modbus)
CRC16_MODBUS:多项式x16+x15+x2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0x0000异或
0xA001是0x8005按位颠倒后的结果
CRC16USB
CRC16_USB:多项式x16+x15+x2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0xFFFF异或
0xA001是0x8005按位颠倒后的结果
CRC16X25
CRC16_X25:多项式x16+x12+x5+1(0x1021),初始值0xffff,低位在前,高位在后,结果与0xFFFF异或
0x8408是0x1021按位颠倒后的结果。
CRC16XModem
CRC-CCITT (XModem)
CRC16_XMODEM:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在后,高位在前,结果与0x0000异或
Crc32
CRC32
Name: CRC-32 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
Poly: 0x4C11DB7
Init: 0xFFFFFFF
Refin: True
Refout: True
Xorout: 0xFFFFFFF
Alias: CRC_32/ADCCP
Use: WinRAR,ect.
CRC32MPEG2
Name: CRC-32/MPEG-2 x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
Poly: 0x4C11DB7
Init: 0xFFFFFFF
Refin: False
Refout: False
Xorout: 0x0000000
Note:
CRC4ITU
Name: CRC-4/ITU x4+x+1
Poly: 0x03
Init: 0x00
Refin: True
Refout: True
Xorout: 0x00
Note:
CRC5EPC
Name: CRC-5/EPC x5+x3+1
Poly: 0x09
Init: 0x09
Refin: False
Refout: False
Xorout: 0x00
Note:
CRC5ITU
Name: CRC-5/EPC x5+x3+1
Poly: 0x09
Init: 0x09
Refin: False
Refout: False
Xorout: 0x00
Note:
CRC5USB
Name: CRC-5/USB x5+x2+1
Poly: 0x05
Init: 0x1F
Refin: True
Refout: True
Xorout: 0x1F
Note:
CRC6ITU
Name: CRC-6/ITU x6+x+1
Poly: 0x03
Init: 0x00
Refin: True
Refout: True
Xorout: 0x00
Note:
CRC7MMC
Name: CRC-7/MMC x7+x3+1
Poly: 0x09
Init: 0x00
Refin: False
Refout: False
Xorout: 0x00
Use: MultiMediaCard,SD,ect.
CRC8
Name: CRC-8 x8+x2+x+1
Poly: 0x07
Init: 0x00
Refin: False
Refout: False
Xorout: 0x00
Note:
CRC8ITU
Name: CRC-8/ITU x8+x2+x+1
Poly: 0x07
Init: 0x00
Refin: False
Refout: False
Xorout: 0x55
Alias: CRC-8/ATM
CRC8MAXIM
Name: CRC-8/MAXIM x8+x5+x4+1
Poly: 0x31
Init: 0x00
Refin: True
Refout: True
Xorout: 0x00
Alias: DOW-CRC,CRC-8/IBUTTON
Use: Maxim(Dallas)'s some devices,e.g. DS18B20
CRC8ROHC
Name: CRC-8/ROHC x8+x2+x+1
Poly: 0x07
Init: 0xFF
Refin: True
Refout: True
Xorout: 0x00
Note:
CRCChecksum
循环冗余校验码
Decimal
A number that can be exactly written with a finite number of digits in the
decimal system.
DigestUtil
摘要算法
HashUtil
Hash算法
HexColor
三原色
HexUtil
十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制,一般用数字0到9和字母A到F表示(其中:A~F即10~15)。
例如十进制数57,在二进制写作111001,在16进制写作39。
像java,c这样的语言为了区分十六进制和十进制数值,会在十六进制数的前面加上 0x,比如0x20是十进制的32,而不是十进制的20
IdUtil
ID生成器工具类
Integer
限制int为32位Integer
IntUtil
int整型工具类
ListUtil
数组工具集
Long
限制int为64位Long
Math
math的封装
MurmurHash
Murmur3 哈希算法实现
NanoId
NanoId,一个小型、安全、对 URL友好的唯一字符串 ID 生成器,特点:
NetUtil
Number <T >
PasswordEncoder
Service interface for encoding passwords.
RandomUtil
随机数工具
RSA
RSA公钥/私钥/签名加密解密
罗纳德·李维斯特(Ron R
ivest)、阿迪·萨莫尔(Adi S
hamir)和伦纳德·阿德曼(Leonard A
dleman)
由于非对称加密速度极其缓慢,一般文件不使用它来加密而是使用对称加密,
非对称加密算法可以用来对对称加密的密钥加密,这样保证密钥的安全也就保证了数据的安全
RSAKeyParser
RSA PEM parser.
RSAKeyUtil
RSA 密钥工具
Short
限制int为16位Short
Snowflake
Twitter的Snowflake 算法
分布式系统中,有一些需要使用全局唯一ID的场景,有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。
StringBuilder
可变的字符序列。字符串缓冲区类似于String ,但可以修改
StrUtil
字符串工具类
SymmetricCrypto
SystemUtil
系统工具
TimeInterval
分组计时器
UUID
提供通用唯一识别码(universally unique identifier)(UUID)实现,UUID表示一个128位的值。