shenliuhe 2019-08-09 22:46 采纳率: 0%
浏览 242
已结题

小白求助(在原数据(30位序列号)基础上,生成同类型但不相同的数据(30位序列号))

例如:
注册号874586027890006171287556958344
在此号码的基础上,怎么生成不同数字?且要怎么验证?
(小白,烦请各位大神教导~~~)

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-08-10 14:07
    关注

    <- 点这里的采纳

    如果问题解决,请把 https://ask.csdn.net/questions/772326 https://ask.csdn.net/questions/772324 两个问题采纳下。

    点我的回答左上角的采纳和向上的箭头即可。

    // Q772326.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    char keys[] = "7Da;w4v2=)"; //这里可以换成你自己的10位字符,这样你的算法就和人家不同了。
    
    void calc(char * src, char * des)
    {
        int i;
        for (i = 0; i < (int)strlen(src); i++)
        {
            int s = src[i] - '0';
            int d = 3 * s * keys[i % 10] * keys[(i+1) % 10] + 14 * s * keys[(i+2) % 10] + 6;
            des[i] = d % 10 + '0';
        }
        des[i] = '\0';
    }
    
    int main()
    {
        char ch[31];
        char ch1[31];
        char ch2[31];
        int n;
        while (1)
        {
            printf("1 计算 2 验证 3 退出:");
            scanf("%d", &n);
            if (n == 1)
            {
                printf("请输入30位数字:\n");
                scanf("%s", ch);
                calc(ch, ch1);
                printf("结果:%s\n", ch1);
            }
            if (n == 2)
            {
                printf("请输入30位数字:\n");
                scanf("%s", ch);
                printf("请输入30位加密后的数字:\n");
                scanf("%s", ch1);
                calc(ch, ch2);
                if (strcmp(ch1, ch2) == 0)
                {
                    printf("正确!\n");
                }
                else
                {
                    printf("错误!\n");
                }
            }
            if (n == 3) break;
        }
        return 0;
    }
    
    

    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类