OTP的counter为一个long型64位数据,每次产生一个新OTP后,counter值做自加一处理。此程序的counter采用android中轻量级存储sharedpreference进行保存。首先建立存储文件夹,在文件夹下建立名为COUNTER的存储变量,在调用OTP产生程序时,首先将COUNER的值从文件夹中读出,为一个String类型,利用命令Long.parseLong()方法将其转换为long型整数作为OTP程序的参数参与运算,然后COUNTER自加,转换成String类型后保存到轻量级存储文件夹中的COUNTER内,为下次调用准备。
在重置counter的程序中,将TextView中的值利用gettext()命令读出,利用toString命令转换成String类型后存储在COUNTER中。对于输入的整数值不能超过Long型整数的范围,在存储之前需要对输入的整数进行相关判断:将输入的整数前面补零和2的64次方减一(18446744073709551615)进行字符串比较,如果输入的整数大或者字符串长度超过20则提醒用户输入错误,重新输入。
posted on 2010-11-23 12:17
赵朋川 阅读(140)
评论(0) 编辑 收藏