看起来ENCRYPT函数在Linux和MacOS上的工作方式非常不同。我想知道为什么?
set @salt := SHA2(RAND(), 512);
select ENCRYPT('abc', CONCAT('\$6\$rounds=5000$', @salt));
Linux 5.4.174-2-pve / mariadb 10.7
$6$rounds=5000$36fcf04d0f759de9$eZedOjHbDve6bomhxF95pzFUajCzFGgnNxh8JapGZlCb5NzzT2ze96hhO8s803zpPGMP4L48hhBm.6cHAv6Op/
macOS 12.4 / mariadb 10.8
$6G/aJp5H5PCs
1条答案
按热度按时间ymzxtsji1#
MariaDB的**ENCRYPT()**函数使用libcrypt库中的crypt()函数。crypt()函数在Mac和Linux上的实现是不同的:Linux使用SHA512,而Mac变体使用DES。