首页 > 解决方案 > 如何在 Python 中为两个二进制字符串计算模块 2?

问题描述

所以我有作业要做

我需要为 3 个不同的输入 模拟Vernam 密码通过模块 2 添加两个二进制字符串):文本、图像和伪随机数组。但我无法弄清楚如何为二进制字符串做模块..

请帮忙 :(

标签: pythonpython-3.xmodulejupyter-notebookcryptography

解决方案


这应该工作 -

def bin_string_to_int(s):
   breakdown = [int(d)*2**n for n,d in enumerate(reversed(s))]
   # breakdown.reverse() # to check the exponents
   return sum(breakdown)

b1 = "101" # 5 in binary 
b1_in_int = bin_string_to_int(b1)

b2 = "10" # 2 in binary
b2_in_int = bin_string_to_int(b2)

print(b1_in_int % b2_in_int)

推荐阅读