生成注册码前的近乎唯一的数字字符串的方法 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    Function Key1(Str)’str--注册内容

    Dim I,A ’A--生成注册码之前的数字字符串

    For I = 1 To Len(Str) ’

    A = A & Abs(Asc(Mid(Str,I,1)))

    Next

    ’上面的循环是将注册内容中的所有内容转换成ANSI字符串

    Do

    If Len(A) > 12 Then

    A = Key2(A) ’调用函数key2来缩短生成注册码之前的长度

    Else

    Exit Do

    End If

    Loop

    A = Key2(A) ’再来一次,好让所有的数字都用上一遍

    ’通过上面的循环把字符串限定在一定的数量

    Key1 = Key3(A) ’调用其他函数将数字转换成自己独有的注册码

    End Function

    Function Key2(Num)

    Dim A,B,C

    A = Mid(Num,1,6)’取字符串1-6个数字

    B = Mid(Num,7,6)’取字符串6-12个数字

    C = Mid(Num,13)’取字符串12以后的数字,跟函数key1种的相对应

    Key2 = A \ 9 & B \ 7 & C ’缩短字符串,数字,自己随便选择一个1-9的就可以了

    End Function

    将数字转换成特定字符的方法有很多种,由于我自己的东西采用了我自己写的,所以,这个方法就不公布了,

生成注册码前的近乎唯一的数字字符串的方法

电脑资料

生成注册码前的近乎唯一的数字字符串的方法》(https://www.unjs.com)。

    方法很简单,给大家做个参考。

    小窍门:

    如果最后返回的字符串太短,我们可以通过mid何len这2个内置函数在转换的时候将最后的注册码固定成特有的长度,比如长度为1,那么len(mid(str,3,3))则返回0,这样就得到固定长度的内容了

    或者用下面的函数也可以

    QUOTE:

    function aaa(str)

    if len(str) < 12 then

    for i = 1 to 12-len(str)

    aaa = "0" & aaa ’或者 aaa = aaa & "0" ,这个0可以换成0-9的任意数字

    next

    end if

    end if

    或者干脆自己随便定一个长度合适的字符串填充上去

最新文章