例如:
注册号874586027890006171287556958344
在此号码的基础上,怎么生成不同数字?且要怎么验证?
(小白,烦请各位大神教导~~~)
小白求助(在原数据(30位序列号)基础上,生成同类型但不相同的数据(30位序列号))
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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 可否在不同线程中调用封装数据库操作的类