在某些情况下,我的用户可以查看存储他们输入的数据的数据库表的Web版本。由于各种原因,我需要包括所有存储的数据,包括在数据中封装邻接等的每个记录的多个整数标志(这是为了在运行时的速度和便利性)。但是我不想在webview中一对一地暴露它们,而是希望有一个混淆的字段,它被称为“保留”,并且包含一个难以理解的字符串,表示我可以轻松编码和解码的那些标志。
如何在C ++ / Objective C中有效地完成这项工作?
谢谢!
答案 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(或类似物)并将其附加到您的值。如果您的价值已被破坏,那将极有可能告诉您。