如何对整数属性进行模糊处理/去模糊处理?

时间:2011-02-23 22:28:51

标签: c++ objective-c encoding obfuscation

在某些情况下,我的用户可以查看存储他们输入的数据的数据库表的Web版本。由于各种原因,我需要包括所有存储的数据,包括在数据中封装邻接等的每个记录的多个整数标志(这是为了在运行时的速度和便利性)。但是我不想在webview中一对一地暴露它们,而是希望有一个混淆的字段,它被称为“保留”,并且包含一个难以理解的字符串,表示我可以轻松编码和解码的那些标志。

如何在C ++ / Objective C中有效地完成这项工作?

谢谢!

5 个答案:

答案 0 :(得分:2)

是否有必要在视觉上向用户公开此字段,或者只是在webview的HTML内容中无损地捕获该字段?如果可能,您是否可以将标记作为每行的隐藏输入元素包括在内,即<input type=“hidden” …

答案 1 :(得分:1)

为什么不将每个字段转换为十六进制,并将它们作为字符串附加并保存该值?

只要你总是以相同的顺序附加字符串,将它们分开并将它们转换回数字应该是微不足道的。

答案 2 :(得分:0)

使用对称加密(example)对值进行编码和解码。当然,只有你应该知道钥匙 或者,Assymetric RSA是更强大的加密,但效率较低,使用起来更复杂。

注意:我很好奇需要这种设计的“各种原因”......

答案 3 :(得分:0)

将标志整数乘以7,加3,并转换为base-36。要检查结果字符串是否被修改,请转换回base-2,并检查结果模7是否仍为3.如果是,则除以7得到标志。请注意,这会受到重播攻击 - 用户可以复制任何有效的字符串。

答案 4 :(得分:-1)

只需计算CRC-32(或类似物)并将其附加到您的值。如果您的价值已被破坏,那将极有可能告诉您。