【发布时间】:2012-04-24 03:32:16
【问题描述】:
我从第三方供应商处获得了几个许可证密钥,这些密钥已授权给我的移动应用程序(C/C++ 语言),为了不泄露给外界,供应商需要检查我的代码以确保这些密钥被加密以防止反汇编。
我得到的最初方法是加密(使用可逆加密方法)这些密钥并在使用时对其进行解密,但这不是最终的解决方案,极端地说,可以通过反转我的代码来解密它。
供应商推荐使用reverse hash来加密这些key(我不知道reverse hash),有没有其他选择(简单,易于实现但更难反汇编)我可以将这些键隐藏在我的代码中以防止反汇编?
【问题讨论】:
-
供应商的意思可能是可逆散列函数?普通哈希是单向的:您可以对字符串进行哈希处理,但要从结果中恢复它们会非常困难。
-
是的,我用谷歌搜索了所有的哈希算法,没有一个哈希算法是可逆的(或者非常非常难以逆转),我不知道如何将其设为
reverse hash以获得解决方案。 .. -
@coanor 嗯,哈希算法的重点是它们是不可逆的,因为几乎任何哈希算法都意味着数据丢失。
-
如果供应商要求他们满意地隐藏密钥,那么他们肯定有一些示例代码来说明他们希望您如何做到这一点吗?这样您就不必猜测它是否对他们“足够好”。
标签: c public-key-encryption password-encryption