我想創建一個加密腳本來加密給它的字串,這就是它的方式。
# First, I created a list of the string I got
string = '16271'
string_list = []
for letter in string:
string_list.append(letter)
然后,我有一個名為 encrypt_list 的串列,我想添加其中的字母以加密我的字串。
因此,我使用以下代碼在 string_list 中的每個字母/組件之后添加來自 encrypt_list 的隨機字母,然后加入串列并列印為字串。
for i in range(0, len(string) - 1):
string_list.insert(for letter in string_list: string_list.index(letter) 1, encrypt_list[random.randint(0, len(encrypt_list) - 1)])
print("The encrypted string is: ")
print(''.join(string_list))
我預計輸出為:1 A 6 b 2 n 7 8 1(我將字母加粗以顯示其中的實際字串)但我收到一個錯誤,我無法在插入函式中使用 for 回圈,并且我找不到其他方法,請幫忙。希望我能弄清楚我的問題
uj5u.com熱心網友回復:
像這樣的東西?
# First, I created a list of the string I got
import random
string = '16271'
string_list = []
for letter in string:
string_list.append(letter)
the_other_list = ['lorem', 'dorem', 'forem', 'borem']
for i in range(0, len(the_other_list)):
the_other_list[i] = string_list[random.randint(0, len(string_list) - 1)] the_other_list[i]
print(''.join(the_other_list))
結果示例:1 lorem 2 dorem 2 forem 7 borem
uj5u.com熱心網友回復:
您可以使用for回圈,一次將一個字母添加到串列中,然后立即添加一個隨機選擇的字母(如果我們不處理串列中的最后一個字母)。我使用常量 fromstring來定義要從中采樣的字符空間;您可以根據需要進行調整。
這應該比嘗試在串列中間重復插入更簡單(您必須在插入時處理記憶體轉移,而且對于較大的文本它會變慢,因為您將嘗試插入串列的中間)。
# First, I created a list of the string I got
import random
import string
encrypt_text = string.ascii_uppercase string.ascii_lowercase string.digits
plaintext = '16271'
letters = []
for index, letter in enumerate(plaintext):
letters.append(letter)
if index != len(plaintext) - 1:
letters.append(random.choice(encrypt_text))
print("The encrypted string is: ")
print(''.join(letters))
uj5u.com熱心網友回復:
不確定您的 encrypted_list 是什么樣子,但如果它是一個字母串列,這將起作用:
import random
string = '16271'
encrypted_list = ['r', 't', 's', 'o', 'j', 'e']
encrypted_string = ''.join([s random.choice(encrypted_list) for s in string])
uj5u.com熱心網友回復:
根據您定義問題的方式,我建議將其實作為生成器:
import random
import string
def _gen_string(s):
alphabet = string.ascii_letters
for c in s:
yield c
yield random.choice(alphabet)
然后,您可以將其用作加密的基礎:
def encrypt(s):
return ''.join(_gen_string(s))
encrypt('16271')
# 1J6P2U7Z1i
當然,這并不是真正的加密。它的默默無聞和默默無聞不是一種應該依賴的安全形式:-)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441335.html
下一篇:如何僅洗掉字串特定部分中的空格
