V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  youxiaer  ›  全部回复第 2 页 / 共 2 页
回复总数  26
1  2  
2015-05-04 20:51:31 +08:00
回复了 youxiaer 创建的主题 问与答 如何用 Java 实现 AES 加密算法(已有 php 版本)
@wy315700
我后来也怀疑IV是hex编码,但是线上环境的的IV的32个字节并不是16进制的数字。
我再找找方法,非常感谢。
2015-05-04 19:49:45 +08:00
回复了 youxiaer 创建的主题 问与答 如何用 Java 实现 AES 加密算法(已有 php 版本)
@wy315700
php中这两个方法应该是下面这样的。

function simple_encrypt($text)
{
$key = "anything";
$vi = 'MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=';
$key = hash('sha256', $key, true);
$vi = base64_decode($vi);
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC, $vi)));
}

function simple_decrypt($text)
{
$key = "anything";
$vi = 'MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=';
$key = hash('sha256', $key, true);
$vi = base64_decode($vi);
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($text), MCRYPT_MODE_CBC, $vi));
}


$str = '1234567890987654321';
$en = simple_encrypt($str);
$de = simple_decrypt($en);
var_dump($en, $de);

执行结果:

string(44) "OgmKJ5gu4rRYB47pVV5N1GyTW5+aKNjQnx2TFYjNdUI="
string(19) "1234567890987654321"
2015-05-04 19:42:42 +08:00
回复了 youxiaer 创建的主题 问与答 如何用 Java 实现 AES 加密算法(已有 php 版本)
@wy315700
php 中的这个函数 mcrypt_decrypt,最后一个参数$vi 可以是32字节。其实我最想知道就是如何用java实现php的 mcrypt_decrypt函数。

string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )
2015-05-04 19:36:27 +08:00
回复了 youxiaer 创建的主题 问与答 如何用 Java 实现 AES 加密算法(已有 php 版本)
@wy315700
恩,是CBC,我写错了,然后我用java实现,IV是32字节,执行就会报错。
java.security.InvalidAlgorithmParameterException: Wrong IV length: must be 16 bytes long
2015-04-23 12:07:35 +08:00
回复了 holinhot 创建的主题 Python 请教如何删除 6 万 txt 中重复的行
@holinhot 保证顺序也是可以的。
for i in `find ./ -name "*.txt"`; do awk '!a[$0]++' $i > $i".bak"; mv $i".bak" $i; done

用上面的语句就行
2015-04-23 11:52:45 +08:00
回复了 holinhot 创建的主题 Python 请教如何删除 6 万 txt 中重复的行
如果不考虑原有顺序就比较简单了。
for i in `find ./ -name "*.txt"`; do sort $i | uniq > $i".bak"; mv $i".bak" $i; done
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3274 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 00:40 · PVG 08:40 · LAX 16:40 · JFK 19:40
Developed with CodeLauncher
♥ Do have faith in what you're doing.