c入门番外篇——我们用密码交流怎么样?

最近看到一个关于华罗庚先生的小故事。一九二九年,苏家驹先生在上海《学艺》七卷上发表了《代数式的五次方程之解法》,华罗庚先生发现此文在一个十二阶段的行列式中有计算差错,便写出《苏家驹之代数解法不能成立的理由》的论文,于一九三O年发表于上海《科学》杂志,论文引起了清华大学熊庆来教授的重视,得意后续进入清华。那一年他才20岁,因为家境贫寒,从高中辍学多年。

看见师弟埋头搞一些数字,我便问道:"师弟,你在破解数学难题?"

师弟:"倒不是什么数学难题?是在翻译密码?"

我好奇道:"密码?什么密码?"

师弟:"程夏同学,不知道最近在玩什么游戏,给我了一张密码表,然后发了我一些数字,我再翻译看看都是些啥。"

我:"为什么不借助机器自动翻译呢?"

师弟:"我怎么忘记了这事。我应该写个程序,一劳永逸的。"

密码破解

密码表如下

c 复制代码
以0开始
1 a
2 b
3 c
4 d
5 e
6 f
7 g
8 h
9 i

以00开始
1 j
2 k
3 l
4 m
5 n
6 o
7 p
8 q
9 r

以000开始
1 s
2 t
3 u
4 v
5 w
6 x
7 y
8 z

举例说明:

加密报文: 012300123000123 翻译后: abcjklstu

现程夏发的信息是: 00010550007006000320064699600050030920090100900070100022080090550074

她的实际意思是什么呢?

c 复制代码
#include <stdio.h>
#include <string.h>

char table[3][10] = {
   //0    1    2    3    4    5    6    7    8    9
    '1', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
    '2', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
    '3', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0'
};

void decode(char *secret)
{
    int i;
    int zero_num = 0;

    for(i=0; i<strlen(secret); i++) {
        if(secret[i] == '0') {
            zero_num++;
            if (i>=1 && secret[i-1]!='0') {
                zero_num = 1;
            }
            continue;
        }

        printf("%c", table[zero_num-1][secret[i]-'0']);
    }

}

int main()
{

    char *secret = "00010550007006000320064699600050030920090100900070100022080090550074";
    decode(secret);
    return 0;
}
相关推荐
洋不写bug几秒前
排序(一)基础排序,插入|希尔|冒泡|直接选择排序详解
java·算法·排序算法·插入排序·冒泡排序·希尔排序·直接选择排序
牧羊人.3331 分钟前
动手学深度学习 03 | 卷积神经网络实现手写数字识别
人工智能·深度学习·神经网络·算法·cnn
AgentMaster26 分钟前
数据治理工具选型指南:一套可复用的四阶段决策框架
大数据·数据结构·人工智能·算法
番茄灭世神27 分钟前
汇顶模拟前端GH3220使用备忘录
c语言·单片机·传感器·模拟芯片·电生理信号处理
我是唐青枫27 分钟前
C#.NET PInvoke 深入解析:封送、内存布局与原生互操作实战
开发语言·c#·.net
程序猿编码37 分钟前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
liliangcsdn44 分钟前
最终留出样本/样本外测试集-holdout解读
算法
SEO_juper1 小时前
外贸多语言站最隐蔽的流量杀手:hreflang 错了,谷歌把德语页推给美国人(附审计脚本)
开发语言·前端·python·seo·独立站·谷歌优化
爱敲代码的小黄1 小时前
机器学习入门:从数据、训练到业务决策
算法
数据知道1 小时前
哈希与密码存储——bcrypt、Argon2、盐值与彩虹表
网络·算法·安全·网络安全·密码学·哈希算法