【发布时间】:2013-06-21 18:04:22
【问题描述】:
我已经设法在绑定的 MS Access 表单中构建了一些东西,该表单可以根据客户的请求对名称进行加密。此过程还解密数据。我需要一个 catch all 来查看输入中的内容,然后解密或加密数据。
很确定有一些东西可以遍历名称并判断它是否是常规单词/字母。
这是未加密的名称: 抢劫者特蕾莎
这是加密后的样子: µ`›±¤à ¬p޳²ó
我几乎肯定两者都是 ASCII 字符集的一部分,因为没有打开 Unicode。 我只是希望我的代码能够获取该值并说:“已加密”或“未加密”。 (真/假)。
【问题讨论】:
-
我不明白。如果您加密某些内容并将其保存到数据库中,那么它就是加密的。如果你对所有数据都这样做,那么你就知道它都是加密的。为什么需要测试它?
-
后者肯定不是ASCII,而是一些Windows codepage - 可能是1252。问题是,如果您的程序必须在使用重音字符的国家/地区运行,您就不能可靠地使用测试“仅包含值
-
后者是ASCII。它们被称为“扩展字符”。客户端可以使用绑定表单上输入旁边的按钮来加密或解密名称。这允许那些拥有密钥的人(即用户名/密码输入正下方的登录输入)查看该值,但设计者不能,任何拥有该 SQL Server 后端 dba 权限的管理员也不能。这是一个记录员工投诉和问题的数据库。大的。所以我建立了一个循环来查找字符的 ASC 值,如果它在 127 以上,则它被加密。 ASCII 表:asciitable.com
-
加密方式固定了吗?如果您对密钥使用 XOR“加密”,则加密和解密的过程相同。这将消除判断它是否加密的需要,并且只需使用相同的方法。请注意,任何替换方法都只不过是混淆,并且很容易被破解。
标签: .net vba ms-access vbscript vb6