假设我有一个Access数据库表,它有两列:一列是ID(从1到20000,顺序排列,每列都是唯一的),一列是Value(从0到500的任意数字)。
如何以一种简单而有效的方式混淆值字段(使用id或不使用id)?我希望有比ROT13模糊处理更有效的东西,但不要太复杂,以至于decoing需要多行代码解码是用C代码完成的。模糊处理是通过Access中的计算字段完成的。
我把“加密”改为“模糊处理”,以反映目标的简单性,这不是为了防止“攻击”,而是为了避免不小心暴露数据。
最佳答案
您的目标/攻击者配置文件是什么?如果你的要求不仅仅是停止随意观看你有不可能的要求…如果您只关心停止随意查看(这比加密更好地称为混淆),那么可以尝试b = a % 7 == 0 ? ((a/7)*991) : a % 2 == 0 ? ((a/2)*787) : a * 317
在另一端b = a % 991 == 0 ? ((a/991)*7) : a % 787 == 0 ? ((a/787)*2) : a/317
注意,这非常弱,但您的要求排除了任何有用的加密形式。
关于c# - 什么是“混淆”数字值的简单但有效的方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9727089/