vb6 - 加密可打印文本,使结果仍然可打印(可以输入)

标签 vb6 encoding base64 encode base32

我想为许可系统加密一些信息,我希望结果能够由用户输入。

更新:这个操作必须是可逆的(可解密的) 例如。, 加密 (ComputerID+ProductID) ->(可以输入的任何标准 ASCII 字符。理想情况下甚至可能只是 A-Z)。

到目前为止,我所做的是将加密文本转换为 HEX(因此它是 0-F 中的任何字符),但这会使字符数加倍。

我正在使用 VB6。

我想我会对每对 (Input$(x) 和 Key$(x)) 做一些操作,然后做一个 MOD 使其保持在 ascii 值范围内(可能是 0-9- A-Z)

有什么好的算法建议吗?

最佳答案

研究 Base64“加密”。

Base 64 会将数字转换为 64 个不同的 ASCII 字符,而 hex 只有 16 个不同的 ASCII 字符...使 Base64 更紧凑,这就是您正在寻找的。

编辑: 在 VB6 中执行此操作的代码可在此处获得:http://www.nonhostile.com/howto-encode-decode-base64-vb6.asp

根据下面的 Fuzzy Lollipop,Base32 看起来是一个更好的选择。如果您能找到那个的示例,则可加分。

编辑:我找到了一个 example of Base32 for VB6虽然我还没有尝试过。 -黏土

关于vb6 - 加密可打印文本,使结果仍然可打印(可以输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2124805/

相关文章:

C# 等价于 VB 字符串大于

math - 如何计算一个框是位于窗口的上部还是下部?

c# 相当于 VB 6's ' StrConv'

email - ISO-8859-1(正确/错误)

c - 一些 C++ 转换为 C,仍然遵循标准?

javascript - JS-通过base64代码获取图片宽高

java - 如何正确编码和解码Base64字符串?

.net - 在 .Net 和 COM 程序集之间传递数据的性能

c# - 将图像转换为 base64 并检查大小

java - XML 转换失败