首页 新闻 会员 周边

Android JNI实现密码加密解密里面char数组的问题

0
[待解决问题]
 
 
现在是每次传入一样的密码加密出来的密文不一样
午夜的阳光的主页 午夜的阳光 | 菜鸟二级 | 园豆:202
提问于:2014-10-10 17:28
< >
分享
所有回答(2)
0

密文不一样不打紧啊,关键是解密出来的明文对就行了。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-10 17:46

但是我这个是做登陆的,如果两次的密文不一样那比较的时候就会报告密码错误!

支持(0) 反对(0) 午夜的阳光 | 园豆:202 (菜鸟二级) | 2014-10-10 17:49

@午夜的阳光: 对于密码,国际上的不作恶行为是,不可逆加密,比如MD5。

我刚才以为你这是可逆的加密,如果是可逆的加密,比较方法当然是解密后再比较了。

因为可逆的加密,有可能在加密算法中,同时使用多种加密方式,然后密文中,有某个位指示使用的加密方式或是钥匙,解密时相应使用即可。这样就有可能出现每次加密密文不同的情况。

如果是密码,出于公德考虑,建议使用不可逆加密方法。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-10 17:57

@爱编程的大叔: 我这是在网上找的加上自己写的用的底层C++实现的可逆的,只是把它放入到so里面安全一点

支持(0) 反对(0) 午夜的阳光 | 园豆:202 (菜鸟二级) | 2014-10-10 18:01

@午夜的阳光: 你没有明白我的意思。

1、如果加密后每次密文不一样,你肯定没有办法通过密文对比来证明是一样的明文。所以你只能用明白对比,这有什么好纠结的。

2、如果是用户的密码,因为可逆加密说明你可以偷看他们的密码,这是不道德的。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-10 18:03

@爱编程的大叔: 这个我知道,但是我现在是做在Android里面的如果再把这个文件放到Java后台就显得有些复杂了

支持(0) 反对(0) 午夜的阳光 | 园豆:202 (菜鸟二级) | 2014-10-10 18:08
0

那你就弄清楚自己的算法。

吴瑞祥 | 园豆:29449 (高人七级) | 2014-10-10 18:04

这不是算法的错误,是赋值给数组之后,加密出来的就不一样了

支持(0) 反对(0) 午夜的阳光 | 园豆:202 (菜鸟二级) | 2014-10-10 18:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册