【问题标题】:how to calculate module 2 in Python for two binary strings? [closed]如何在 Python 中为两个二进制字符串计算模块 2? [关闭]
【发布时间】:2021-01-13 03:03:57
【问题描述】:

所以我有作业要做,

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

请帮忙:(

【问题讨论】:

  • 你的意思是像 0b101 % 0b10 = 1 即 5%2=1 吗?
  • adding ... by module 2 是指xor
  • 我的意思是 mod 操作就像@sai 写的那样 1. case 是文本输入,我必须通过 mod 2 添加两个二进制字符串来模拟 Vernam 密码 2. case 是图像相同事物的输入 3. 案例是伪随机数组
  • 你真的不知道你想要什么。正如@AAAlex123 指出的那样,“mod 2 添加”位只是xor,但您接受了一个与此无关的答案。

标签: python python-3.x module jupyter-notebook cryptography


【解决方案1】:

这应该可行-

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)

【讨论】:

    猜你喜欢
    • 2015-02-21
    • 2019-08-05
    • 2020-02-13
    • 2016-11-07
    • 1970-01-01
    • 2020-09-16
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    相关资源
    最近更新 更多