İlk şifre yöneticisi kodum (python)

William Crusader

Hectopat
Katılım
11 Kasım 2020
Mesajlar
5.371
Makaleler
1
Çözümler
14
Daha fazla  
Cinsiyet
Erkek
Meslek
Yok
Türkçe hali:
[CODE lang="python" title="Türkçe"]from os import replace
from tqdm import tqdm
import time
dosya = "şifredosyası.txt"
menu = ""
while menu not in ["1","2","3","31"]:
print("""Şifre yöneticisi uygulamasına hoşgeldiniz. Bu işlemlerden hangisini yapmak istersiniz?
1. Eski şifreleri görüntüle
2. Yeni şifre oluşturma
3. Uygulamayı kapatma""")
menu = input("")
if menu == "1":
for i in tqdm(range(100)):
time.sleep(0.01)
şifredosyası = open('şifredosyası.txt', "r")
for i in şifredosyası:
data = i.split("\n")
print(data[0])
print("Bunlar eski şifreleriniz. Yeni bir şifre girmek ister misiniz?")
evetyadahayır1 = input("")
menu = evetyadahayır1.lower()
if menu not in ["evet", "olur"]:
quit()
if menu == "2":
şifre = input("Lütfen yeni şifrenizi giriniz: ")
şifredosyası = "şifredosyası.txt"
şifredosyası = open("şifredosyası.txt", "a")
şifredosyası.write(şifre+"\n")
şifredosyası.close()
for i in tqdm(range(100)):
time.sleep(0.01)
print("Şifreniz başarıyla kaydedildi. Şifrelerinizi görüntülemek ister misiniz?")
evetyadahayır1 = input("")
menu = evetyadahayır1.lower()
if menu not in ["evet","olur"]:
quit()
if menu == "3":
print("Uygulamamı denediğiniz ve zaman ayırdığınız için teşekkürler!")
quit()
if menu == "31": #bunu bilmen gerekmiyor
print("\nBaşarım kazanıldı: How did we get here?")[/CODE]
İngilizce hali:
[CODE lang="python" title="İngilizce"]from os import replace
from tqdm import tqdm
import time
dosya = "şifredosyası.txt"
menu = ""
while menu not in ["1","2","3","4"]:
print("""Welcome to password manager app. Which action would you like to do?
1. View old passwords
2. Create a new password
3. Close the app""")
menu = input("")
if menu == "1":
for i in tqdm(range(100)):
time.sleep(0.01)
try:
şifredosyası = open('şifredosyası.txt', "r")
for i in şifredosyası:
data = i.split("\n")
print(data[0])
print("\nThese are your old passwords. Wanna go back to menu?")
evetyadahayır1 = input("")
menu = evetyadahayır1.lower()
if menu not in ["yes", "sure","okay","okey","ok"]:
quit()
except FileNotFoundError:
print("File can not be found. You have to create a new one. For that, i gonna re-open the app.\n")
time.sleep(2)
menu = ""
if menu == "2":
şifre = input("Please enter your new password: ")
şifredosyası = "şifredosyası.txt"
şifredosyası = open("şifredosyası.txt", "a")
şifredosyası.write(şifre+"\n")
şifredosyası.close()
for i in tqdm(range(100)):
time.sleep(0.01)
print("Your password is successfully saved. Wanna go back to menu?")
evetyadahayır1 = input("")
menu = evetyadahayır1.lower()
if menu not in ["yes", "sure","okay","okey","ok"]:
quit()
if menu == "3":
print("""Thank you for testing my application!
Badge received: Quest is Over""")
quit()
if menu == "4": #bunu bilmen gerekmiyor
print("\nBadge received: How did we get here?")[/CODE]
 
Nasıl yani, güvenli olmaması nasıl bir sorun çıkarıyor?
Şifre yöneticisinden bahsediyoruz, ve koda bakılırsa şifreler plaintext olarak bir dosyada saklanıyor. Bilgisayar herhangi bir virüs girerse ya da biri dosyayı ele geçirirse direk rahatlıkla bütün şifreleri çalabilir. Bundan dolayı şifreleme şart.
 
Şifre yöneticisinden bahsediyoruz, ve koda bakılırsa şifreler plaintext olarak bir dosyada saklanıyor. Bilgisayar herhangi bir virüs girerse ya da biri dosyayı ele geçirirse direk rahatlıkla bütün şifreleri çalabilir. Bundan dolayı şifreleme şart.
Yazılan şifrelerin şifrelenmiş olarak saklanmasını hangi kod ile yapacağım?
 
Şifreleri plaintext olarak tutmanız büyük bir hata. Dosyalar düz metin dosyasından okunmamalı. Okunabilirlik ve formata dikkat edilmemiş.

Başlangıç seviyesinde olsanız bile bazı prensipleri öğrenmek önemli. Konuyu programlama bölümüne açsaydınız keşke.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı