【发布时间】:2009-08-18 22:57:59
【问题描述】:
这会有点冗长而杂乱无章,但我想确保一切都在正确的上下文中。
早在 2004 年,我就使用 Classic ASP 和 VBScript 编写了一个在线学习管理系统。我现在正在进行一些升级(并定期问自己 WTF 我在编写各种代码段时的想法......),我想借此机会解决我经常收到的抱怨之一 - 的大小验证码。
当您在线完成测试时,会显示一个验证号,因此如果您需要重新创建结业证书(它是一家医院,并且试图让他们摆脱他们的论文就像要求 Linus 放弃一样)他的毯子)你可以输入号码等。
在我写这篇文章的时候(很遗憾,直到今天),我没有可以用来创建成绩单页面的唯一标识符 - 所以请不要为此发布建议。发生的事情比我想进入的要多,我想阻止我无法使用的有效建议。 ;)
验证码是各种信息的串联(主要是因为当我第一次编写它时,我是一个白痴新手,所以不在身边),虽然它是一个非常受欢迎的功能,但也有很多抱怨关于这个数字有多长。此时返回原始 ID 并不好,因为我们处于 6 位范围内。
我最初的想法是使用从其他地方获得的 Base64 编码算法,但考虑到我在数字方面遇到的问题,我认为将其更改为区分大小写的值只是要求使用不同类别的问题......这让我想到了手头的问题:
我可以使用什么来创建最短的不区分大小写的验证号,因为十六进制不会显着减少长度?
正如标签所示,我需要能够在 ASP Classic/VBScript 中实现它——此时迁移不是一个选项。
编辑:根据答案,我找到了 Crockfor 的 Base32 实现的链接,看起来就像我正在寻找的一样 - http://www.crockford.com/wrmg/base32.html
【问题讨论】:
标签: web-applications asp-classic vbscript