A1z26解密

这是一个关于Python实现的猜数字小游戏,程序通过random库生成1到20之间的随机数,用户需猜测这个数字。游戏结束后,给出了一个数字序列,通过a1z26解密网站解密得到字符串'addadaadddwdnkjvdf',解密过程与代码本身无关,但可能与题目答案相关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

审题

http://ctf-union.pangolinlabs.cn/#/training/item?id=5308518063

第一步

打开是一个python的小游戏程序,发现文章和题目无关

import random
secher = random.randint(1,20)
print("--------猜数字游戏----------")
temp = input("开始游戏:")
guess = int(temp)
while guess != secher:
    temp = input("不对不对,继续:")
    guess = int(temp)
    if guess == secher:
        print("你真棒!")
    else:
        if guess > secher:
            print("大了,太大了")
        else:
            print("小了,这个数字太小了")
print("游戏结束,不玩啦!")
1-4-4-1-4-1-1-4-4-4-23-4-14-11-10-22-4-6

最后的数字和代码无关,但和题目有关,选择!

第二步

复制出来进入a1z26解密网站输入:

1-4-4-1-4-1-1-4-4-4-23-4-14-11-10-22-4-6

结束

addadaadddwdnkjvdf

在C语言中,我们可以创建一个简单的移位密码(Caesar Cipher)程序,其加密和解密过程是基于字母表的循环移位。以下是程序的基本实现,它接受用户输入的密钥和明文,并进行相应的加密和解密操作: ```c #include <stdio.h> #include <string.h> #define ALPHABET_SIZE 26 // 函数声明 void caesar_encrypt(char *text, int shift); void caesar_decrypt(char *text, int shift); int main() { char plaintext[100], ciphertext[100], key; printf("请输入明文:\n"); fgets(plaintext, sizeof(plaintext), stdin); // 读取一行输入 plaintext[strlen(plaintext) - 1] = '\0'; // 去掉换行符 printf("请输入密钥 (1-%d): ", ALPHABET_SIZE); scanf("%d", &key); key--; // 加密部分 caesar_encrypt(plaintext, key); printf("加密后的文本: %s\n", ciphertext); // 解密部分 ciphertext[strlen(ciphertext)] = '\0'; // 确保指针指向结尾 caesar_decrypt(ciphertext, key); printf("解密后的文本: %s\n", ciphertext); return 0; } // 加密函数 void caesar_encrypt(char *text, int shift) { int len = strlen(text); for (int i = 0; i < len; ++i) { if (isalpha(text[i])) { // 检查是否为字母 // 对大写字母和小写字母分别处理 if (isupper(text[i])) text[i] = ((text[i] - 'A' + shift) % ALPHABET_SIZE) + 'A'; else text[i] = ((text[i] - 'a' + shift) % ALPHABET_SIZE) + 'a'; } } } // 解密函数 void caesar_decrypt(char *text, int shift) { caesar_encrypt(text, -shift); // 解密时使用负数移位 } ``` 在这个程序中,`caesar_encrypt`函数接收一个字符串和一个整数作为参数,对字符串中的每个字母进行移位操作。同样,`caesar_decrypt`函数则是解密的部分,它通过调用`caesar_encrypt`并传入负移位值来达到目的。 注意,这里我们假设用户输入的密钥小于等于字母表大小(26),并且只考虑英文字符。对于非字母字符,原样保留。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值