BruceWind / AESJniEncrypt

🛡 Make safest code in Android. (基于libsodium实现chacha20算法,key在native中,防止被二次打包){长期维护,请star,勿fork}

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

如何动态添加秘钥

dxy1046 opened this issue · comments

这个方案看起来是固定秘钥的用法,如果我使用动态秘钥有没有好的解决方案呢

commented

你尝试自己修改代码,通过jni方法传递jstring进来。

好的,谢谢解答

commented

看这里:JNIEncrypt#95


decode encode方法都会有getkey () 你改为通过jni从java传递进来就好了。

不过,既然你用动态key的话,就把所有AES相关方法名改掉让别人看不出 你是aes算法。

后来我一想如果使用动态秘钥的话,再使用jni方式有点得不偿失了,这样只能做到使用jni来加解密,秘钥还是没办法隐藏,这只是个人见解,对加解密及APP安全方面没有太多的了解

commented

对,但是你可以做的是算法保密。

commented

或者你网络传递key,可以通过 网络传一个被enocde(key),客户端需要先通过jni decode(str) 得到key,然后再用jni进行加解密。

恩,这个确实是可以做到加密算法的反破译和非法调用难度增加,谢谢