![]() |
1
yuzo555 127 天前
这种 PHP 直接用自带的 openssl 库啊
|
3
CodeCodeStudy 127 天前
看不到图
|
4
brader OP @CodeCodeStudy 不可能吧,你都能翻到这个网站,imgur.com 上的图片应该看得到呀
|
![]() |
5
wudicgi 127 天前
if ($length % $this->block_size == 0) {
return $text; } 看着不是 PKCS7, PKCS7 任何时候都要加 padding 的 如果 block_size 是 8 bytes, 那么长度恰好是 8 的整倍数时,要填充 8 个 0x08 |
![]() |
6
wudicgi 127 天前
呃,我漏看了 if ($this->padding) { 了
那看着是 PKCS7 |
7
Great233 127 天前
PKCS#5 填充不能用于 AES 加密,看说是 Java 加密库历史遗留问题,所以在使用 AES 加密的时候写的是 PKCS5Padding ,实际是 PKCS7Padding
> https://crypto.stackexchange.com/a/9044 |
8
brader OP @Great233 按我找到的相关 AES 资料,我的认知也是 PKCS#5 填充不能在 AES 加密的 CBC 模式使用,因为 AES 的 CBC 模式,最短的块长度是 16 ,而 PKCS#5 适用于块长度为 8 。关于 java 方面等问题,我就不是很清楚了,毕竟不是做 java 开发
|
![]() |
9
wudicgi 127 天前
PKCS5 和 PCKS7 padding 的区别是它只能用于 block size 为 8 bytes 的情况
PKCS7 的 block size 可以到 255 bytes |
10
brader OP @wudicgi 嗯,所以上面代码应该就是使用的 PKCS7 了,因为是动态填充的,那 java 示例应该是有问题的,除非像楼上有个同学说的,java 这样写是历史遗留问题
|
11
CodeCodeStudy 127 天前
@brader #4 http 错误为 429 Too Many Requests
|
12
brader OP @CodeCodeStudy 那就不知道为啥你被针对了,大家都看得到,而且这个图床,V2 最多人用的了
|
![]() |
13
iyaozhen 127 天前
|
![]() |
15
YepTen 127 天前
Java Security Standard Algorithm Names
中对加密的填充模式只有以下几种: NoPadding ISO10126Padding OAEPPadding, OAEPWith<digest>And<mgf>Padding PKCS1Padding PKCS5Padding SSL3Padding |