欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

好象是这样的 (1千字)

好象是这样的 (1千字)

注册机
#include <stdio.h>
#include <string.h>
#include <windows.h>
long GenerateNumber(char *s);
void main(void)
{
    char Name[64];
    long number;
    char Serial[9];
    char buf[16];
    printf("Input your name: ");
    gets(Name);
    number = GenerateNumber(Name);
    sprintf(buf, "%010lu", number);
    Serial[1] = buf[6];
    Serial[2] = buf[7];
    Serial[3] = buf[8];
    Serial[4] = buf[9];
    //Serial[0]、Serial[5]、Serial[6]是任意的,这里随机生成它们
    //Serial[0]不能为0
    //并非真正的随机数
    number = GetTickCount( ) % 1000;
    Serial[0] = (number % 9) + '1';
    number /= 10;
    Serial[5] = (number % 10) + '0';
    number /= 10;
    Serial[6] = (number % 10) + '0';
    Serial[7] = '\0';
    number = GenerateNumber(Serial);
    sprintf(buf, "%010lu", number);
    Serial[7] = buf[9];
    Serial[8] = '\0';
    printf("Your registration code is: %s\n", Serial);
}
long  GenerateNumber(char *s)
{
    long ECX;
    long sum;
    long k, length;
    length = strlen(s);
    if (length <= 0)  return 0;
    sum  = 0;
    ECX = 0x00600937;
    for(k = 0; k < length; k++)
    {
        sum += (s[k] & 0xFF) * (k+1) * ECX;
        ECX *= 0x00600937;
    }
    return sum;
}

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功