昨天我们让 Line Bot 可以成功回应使用者验证码了,但是这样只要任何人加入 Line Bot 都可以获取验证码! 虽然只获取验证码也不一定能做什麽事,但总是以资讯安全观点来说不太好,所以今天开始要帮验证码小帮手加上身份验证的功能!
那麽今天就来研究要怎麽产生不重复的验证码吧!
UUID 具有识别资讯的唯一性,用来作为产生不重复验证码的基底再适合不过了
通用唯一辨识码(英语:Universally Unique Identifier,缩写:UUID)是用於电脑体系中以辨识资讯的一个128位元识别码。根据标准方法生成,不依赖中央机构的注册和分配,UUID具有唯一性,这与其他大多数编号方案不同。重复UUID码概率接近零,可以忽略不计。
如何用 JavaScript 产生 UUID / GUID? | Summer。桑莫。夏天
p.s Summer 大大的文章惠我良多,推荐各位阅读!
看完文件後我们可以得知,使用 Math.random()
就可以得到最基本的UUID,只是可能需要过滤重复的数值。因为我们只是要产生不重复的验证码,所以只要用 Math.random()
产出多组8码验证码,再删除重复的值即可。
建立一个 generateVerificationCode.gs 内容如下:
(1 + Math.random()) * 0x10000
产生一个范围在 65536~131072 (不包含 131072) 的浮点数
function generateVerificationCode() {
var amount = 10;
var verificationCode = [];
var i = 0;
var front = "";
var end = "";
while ( i < amount) {
front = (((1 + Math.random()) * 0x10000)|0).toString(16).substring(1);
end = (((1 + Math.random()) * 0x10000)|0).toString(16).substring(1);
verificationCode.push(front+end);
i++;
}
var uniqueVerificationCode = [...new Set(verificationCode)]
Logger.log(uniqueVerificationCode)
}
今天就先到这里~明天有台风又要补班让心情不美丽,但希望台风不要造成灾害!
明天会继续完成接下来的流程~
昨天我们已经能把单一地点的天气资讯显示到手机App上面了,接着我们会利用UIButton让我们可以选...
上一回提到大O符号表达执行时间,但对於大O符号我们可能有些疑问。 既是叫时间,那它的单位是什麽? 我...
Chap.II Machine Learning 机器学习 https://yourfreetemp...
说明:事件是您在编程时系统内发生的动作或者发生的事情,系统响应事件後,如果需要,您可以某种方式对事件...
延续昨日 我们今天的目标是获取帐户讯息以及修改帐户资料 首先先去views 里面创一个Account...