一般软件加密算法都避免不了判断True / False的问题。
许多解密软件正是利用这一点,成功的破解了纯软件加密的方法。而DES等算法多与智能卡结合,利用硬件保证了软件的安全性。
难道纯软件真的就没有办法加密了吗?
我认为,只要避开了出现True / False,或其他多值变量的问题,使解密软件无从着手,即可成功地实现纯软件加密。
例如,构造一个函数
Function Login(SN as Long) as Long
用来判断用户口令或注册码是否正确。一般的做法是返回True或False值,为了防止解密,可以返回一个长整型。其产生机理不是通过比较、判断是否与正确SN相同,而是与密钥进行计算,产生新的整数。
这个新的整数在需要的时候,可以再与密钥做逆运算。这样的运算可以在不同的地方做很多次。使解密者无法全部破解。
我的一点想法,还很不成熟,希望得到大家的补充。