Myfe - 02/04/22
14777 ワード
この数日間、私はこのプロジェクトを辞めたい気がしました.
しかし、私はこれを続けることに決めたので、私は再びここにいます.
最初は、ファイルを作ることにしました
それから、暗号化と復号化の方法について考えました. ヘックス ベース64 シーザー暗号 SHA 256 MD 5 バイナリ 私は、私が16進数のASCII、ASCII 16進数、base 64 ASCII、ASCIIベース64、caeser暗号化ASCII、ASCII caeser暗号、ASCII - SHA 256、ASCII - MD 5、バイナリASCIIとASCIIバイナリをすることができたとわかりました.
そこで私はグーグルを関数で検索しました.
ここで私について来てくださいGitHub , アンドスターrepository
読書ありがとう!
しかし、私はこれを続けることに決めたので、私は再びここにいます.
最初は、ファイルを作ることにしました
cryptography.py
と暗号化のためのクイズで使用することができますので、そこにいくつかの暗号化と復号化機能を追加します.それから、暗号化と復号化の方法について考えました.
そこで私はグーグルを関数で検索しました.
import base64
import hashlib
import string
alphabet = string.ascii_lowercase
def hextoascii(text):
return bytes.fromhex(text).decode('utf-8')
def asciitohex(text):
return text.encode('utf-8').hex()
def base64toascii(text):
base64_bytes = text.encode('ascii')
message_bytes = base64.b64decode(base64_bytes)
message = message_bytes.decode('ascii')
return message
def asciitobase64(text):
message_bytes = text.encode('ascii')
base64_bytes = base64.b64encode(message_bytes)
base64_message = base64_bytes.decode('ascii')
return base64_message
def asciitocaesercipher(text,s):
result = ""
for i in range(len(text)):
char = text[i]
if (char.isupper()):
result += chr((ord(char) + s-65) % 26 + 65)
else:
result += chr((ord(char) + s - 97) % 26 + 97)
return result
def caeserciphertoascii(encrypted_message, key):
decrypted_message = ""
for c in encrypted_message:
if c in alphabet:
position = alphabet.find(c)
new_position = (position - key) % 26
new_character = alphabet[new_position]
decrypted_message += new_character
else:
decrypted_message += c
return decrypted_message
def asciitosha256(hash_string):
hashed_string = hashlib.sha256(hash_string.encode('utf-8')).hexdigest()
return hashed_string
def asciitomd5(text):
result = hashlib.md5(text.encode())
return result
def asciitobinary(text):
thelist = [bin(ord(x))[2:].zfill(8) for x in text]
binary = " ".join(thelist)
return binary
def binarytoascii(binary):
binary = binary.split()
return ''.join([chr(int(x, 2)) for x in binary])
次に、私はlists.py
そして私は辞書を加えましたdegreescosts
そして、30度である程度を始めるコストを加えましたdegreescosts = {'cryptography': 30}
その後、私は行きましたfunctions.py
関数と呼ばれるaddmoney
, すぐに必要だと思ったからです.def addmoney(username, amount):
user = getuser(username)
money = user['Money']
money = money + amount
del user['Money']
user['Money'] = money
profilescol.delete_one({"Username": username})
profilescol.insert_many([user])
return user
前のコードに追加すると、別の関数adddegree
, あなたの学位取得プロセスを始めることができます.def adddegree(username, jobname):
jobname = jobname.lower()
if len(getpreparingdegrees(username)) == 3:
return "You can't prepare for more than 3 degrees."
if jobname not in degrees:
return "This is not a real degree!"
user = getuser(username)
if degreescosts[jobname] > user['Money']:
return f"You don't have enough money to start preparing for {jobname}"
addmoney(username, -1*degreescosts[jobname])
degree = [{
"Username": username,
"Type": jobname,
"Status": 0
}]
degreescol.insert_many(degree)
これは今日のですが、次のブログでは、学位を開始するフロントエンドをカバーするよ!ここで私について来てくださいGitHub , アンドスターrepository
読書ありがとう!
Reference
この問題について(Myfe - 02/04/22), 我々は、より多くの情報をここで見つけました https://dev.to/vulcanwm/myfe-020422-53poテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol