题目:

密码学历史中,有两位知名的杰出人物,Alice和Bob。他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底。就像在数学王国中的素数一样,孤傲又热情。下面是一个大整数:98554799767,请分解为两个素数,分解后,小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希,提交答案。 注意:得到的 flag 请包上 flag{} 提交

先进行整数分解,再进行MD5杂凑,十分简单,在线有工具可以实现,这里还是给出脚本。

import math
import hashlib # 判断一个数是否为质数
def is_prime(n):
if n <= 1:
return False
if n == 2:
return True
if n % 2 == 0:
return False
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True # 找到两个质数因子
def find_two_prime_factors(n):
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0 and is_prime(i):
other_factor = n // i
if is_prime(other_factor):
return i, other_factor
return None # 如果找不到两个质数因子,返回None # 计算数字的MD5哈希
def get_md5_hash(value):
return hashlib.md5(value.encode('utf-8')).hexdigest() # 主函数
def main():
num = 98554799767 # 给定的大整数
factors = find_two_prime_factors(num) # 找到两个质数因子 if factors:
small, large = sorted(factors) # 按照小的放前面,大的放后面
combined_number = str(small) + str(large) # 合成一个新的数字
md5_hash = get_md5_hash(combined_number) # 计算MD5哈希
print(f"两个质数因子是: {small} 和 {large}")
print(f"合成的数字是: {combined_number}")
print(f"MD5哈希值是: {md5_hash}")
else:
print("无法找到两个质数因子") if __name__ == "__main__":
main()

运行后得到答案

Alice与Bob-整数分解问题脚本实现的更多相关文章

  1. ACdream群赛1112(Alice and Bob)

    题意:http://acdream.info/problem?pid=1112 Problem Description Here  is Alice and Bob again ! Alice and ...

  2. uva 1500 - Alice and Bob(论证)

    option=com_onlinejudge&Itemid=8&page=show_problem&problem=4246" target="_blank ...

  3. ny788 又见Alice and Bob

    又见Alice and Bob 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 集训生活如此乏味,于是Alice和Bob发明了一个新游戏.规则如下:首先,他们得到一个 ...

  4. 计蒜客 ACM训练联盟周赛 第一场 Alice和Bob的Nim游戏 矩阵快速幂

    题目描述 众所周知,Alice和Bob非常喜欢博弈,而且Alice永远是先手,Bob永远是后手. Alice和Bob面前有3堆石子,Alice和Bob每次轮流拿某堆石子中的若干个石子(不可以是0个), ...

  5. 2016中国大学生程序设计竞赛 - 网络选拔赛 J. Alice and Bob

    Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  6. bzoj4730: Alice和Bob又在玩游戏

    Description Alice和Bob在玩游戏.有n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最 小的点.Alice和Bob轮流操作,每回合 ...

  7. Alice and Bob(2013年山东省第四届ACM大学生程序设计竞赛)

    Alice and Bob Time Limit: 1000ms   Memory limit: 65536K 题目描述 Alice and Bob like playing games very m ...

  8. 整数分解 && 质因数分解

    输入整数(0-30)分解成所有整数之和.每四行换行一次. 一种方法是通过深度优先枚举出解.通过递归的方式来实现. #include <stdio.h> #include <strin ...

  9. sdutoj 2608 Alice and Bob

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2608 Alice and Bob Time L ...

  10. hdu 4268 Alice and Bob

    Alice and Bob Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Tota ...

随机推荐

  1. Qt开源作品12-硬盘容量控件

    一.前言 磁盘容量统计控件,说白了,就是用来统计本地盘符占用的容量,包括但不限于已用空间.剩余空间.总大小.已用百分比等,其中对应的百分比采用进度条显示,该进度条的前景色和背景色及文字颜色可以设置,在 ...

  2. [转]Winform实现多线程异步更新UI(进度及状态信息)

    引言 在进行Winform程序开发需要进行大量的数据的读写操作的时候,往往会需要一定的时间,然在这个时间段里面,界面ui得不到更新,导致在用户看来界面处于假死的状态,造成了不好的用户体验.所以在大量数 ...

  3. Jetbrains fleet 配置 C++开发环境(基于CMAKE和MinGW)

    Jetbrains fleet 配置 C++开发环境 1. 安装 Jetbrains Fleet 到Fleet下载页面下载Toolbox并安装 Jetbrains-Fleet下载页 安装完成后在任务栏 ...

  4. Windows安全加固(三)

    五.网络安全配置 协议安全 1.SYN攻击保护 指定触发SYN洪水攻击保护所必须超过的TCP连接请求数阈值为5:指定处于SYN_RCVD状态的TCP连接数的阈值为500,指定处于至少已发送一次重传的S ...

  5. Solution -「ZJOI 2018」「洛谷 P4338」历史

    \(\mathscr{Description}\)   Link.   给定一棵以 \(1\) 为根的树,点 \(u\) 有非负点权 \(a_u\).   定义 \(u\) 的一次染色的代价为:路径 ...

  6. CDS标准视图:维护活动类型 I_MaintenanceActivityType

    视图名称:维护活动类型 I_MaintenanceActivityType 视图类型:基础 视图代码: 点击查看代码 @ObjectModel.supportedCapabilities: [ #AN ...

  7. 小程序image图片缩小不变形

    使用mode =aspectFill 值 说明 scaleToFill 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 图片会变形 aspectFit 缩放模式,保持纵横 ...

  8. react验证参数格式类型

    首先你需要下载 cnpm i prop-types 安装验证数据类型的插件: 子组件 import React, { Component } from "react"; impor ...

  9. 使用 Dify + LLM 构建精确任务处理应用

    在构建基于大语言模型(LLM)的应用时,如何确保返回结果的准确性和可重复性是一个常见的挑战.本文将结合 Dify + LLM 的使用经验,介绍如何设计一个精确的 LLM 任务处理流程,避免传统 LLM ...

  10. MySql中创建用户以及设置其操作权限

    以下设置针对MySql8+版本进行测试,低版本暂无测试. 以管理员身份CMD并定位到MySql安装的bin目录,然后执行命令mysql -u root -p登录到MySql,然后输入登录密码,登录成功 ...