Სარჩევი:
ვიდეო: პითონის უსაფრთხოების დაშიფვრის/გაშიფვრის პროგრამული უზრუნველყოფა: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ ინსტრუქციებში მე გაჩვენებთ, თუ როგორ შეგიძლიათ მარტივი პითონის საშუალებით შეინარჩუნოთ თქვენი ფაილები უსაფრთხო ინდუსტრიული სტანდარტის AES გამოყენებით.
მოთხოვნები:
- პითონი 3.7
- PyAesCrypt ბიბლიოთეკა
- ჰასლიბის ბიბლიოთეკა
თუ არ გაქვთ ეს ბიბლიოთეკები, შეგიძლიათ მარტივად დააინსტალიროთ აკრეფით:
pip3 დააინსტალირეთ hashlib
pip3 დააინსტალირეთ PyAesCrypt
ტერმინალში (ან CMD)
ეს უკვე უნდა გქონდეს:
- შემთხვევითი ბიბლიოთეკა
- os ბიბლიოთეკა
- სისტემის ბიბლიოთეკა
მე ვიყენებ OS X- ს, მაგრამ ამას დიდი მნიშვნელობა არ უნდა ჰქონდეს, გარდა ფაილების ბილიკებში დახრილი მიმართულებებისა (OS X: /, Windows:)
გთხოვთ გაითვალისწინოთ: გარკვეული ხარვეზის გამო, კოდში ჩანაწერები რაიმე მიზეზით არ ჩანს. შესაბამისად ნაჩვენები კოდი არ იქნება ნაჩვენები, თუმცა ისინი წარმოდგენილია პითონის ფაილებში, რომლებიც მე დავამატე ბოლოს და თანდართულ სურათებში. უბრალოდ ნუ აიღებთ კოდს პირდაპირ ნაჩვენები ტექსტიდან, რადგან ის არ იმუშავებს ჩაღრმავების არარსებობის გამო
თუ თქვენ გაქვთ ყველა დამოკიდებულება დაინსტალირებული, მოდით გადავიდეთ ნაბიჯი 1 -ზე.
ნაბიჯი 1: შექმნის ფაილის დაწერა
ერთ -ერთი ფაქტორი, რაც ამას ასე უსაფრთხოდ აქცევს არის პაროლის შესამოწმებლად ჰეშების გამოყენება. დაყენების ფაილი (მე ვურეკავ ჩემს setupsafe.py) აპირებს:
- შექმენით საქაღალდე და პაროლი ფაილებისათვის
- დააყენეთ პაროლი
- დააყენეთ ფაილის ნომერი
- გაშალე პაროლი
პირველ რიგში, ჩვენ ვაპირებთ შემოვიტანოთ ჩვენი დამოკიდებულებები:
sys იმპორტიდან *
იმპორტი os
შემთხვევითი იმპორტი
იმპორტი ჰასლიბი
შემდეგი, ჩვენ შევქმნით საქაღალდეს, სადაც განთავსდება პაროლის ჰაში და საცდელი ფაილები:
სცადეთ: თუ არა os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
გარდა OSError:
ბეჭდვა ("შეცდომა საქაღალდის შექმნისას")
ეს კოდი შექმნის საქაღალდეს სახელწოდებით safesetup (თუ ის უკვე არ არსებობს).
ამის შემდეგ, ჩვენ ვაპირებთ პაროლის დაყენებას და შემთხვევითი რიცხვის გენერირებას 1 – დან 100 – მდე, როგორც ჩვენი გზა დუმილი ფაილების ნავიგაციისთვის:
გლობალური პაროლი სიტყვა = argv [1]. კოდი ('utf-8')
n = random.randint (1, 101)
ახლა, როდესაც ჩვენ გვაქვს ჩვენი პაროლი და ჩვენი ფაილის ნომერი, ჩვენ ვაპირებთ შევქმნათ 99 საცდელი ფაილი safesetup– ში და ერთი რეალური ფაილი, რომელიც შეიცავს ჩვენს პაროლის ჰეშს:
x დიაპაზონში (101): თუ (x! = n):
f = ღია (("desktop/safesetup/"+str (x)), "w+")
ვ. დახურვა ()
სხვა:
პაროლი = hashlib.sha256 (პაროლი).hexdigest ()
f = ღია (("desktop/safesetup/"+str (x)), "w+")
ვ. დაწერე (პაროლი)
ვ. დახურვა ()
ბეჭდვა (n)
ნამდვილ ფაილს ქვია რასაც მთელი რიცხვი n. ეს ფაილი შეიცავს ჩვენს პაროლს sha256 ალგორითმის გამოყენებით (ეს ჰეშ ალგორითმი ფართოდ გამოიყენება კრიპტოვალუტებში, განსაკუთრებით ბიტკოინში).
დაიმახსოვრე რა არის n (ის დაიბეჭდება კონსოლში), რადგან ის ისეთივე მნიშვნელოვანია, როგორც პაროლი.
ეს არის ყველაფერი რაც ჩვენ გვჭირდება ჩვენი პროგრამის დაყენებისთვის, ამიტომ ჩვენ ახლა გადავალთ დაშიფვრის/გაშიფვრის პროგრამაზე.
ნაბიჯი 2: დაშიფვრის/გაშიფვრის ფაილი
ძირითადი ფაილის დაყენების განყოფილება ახდენს იმ დამოკიდებულებების იმპორტს, ატეხავს შეყვანის პაროლს და იღებს პაროლის ნამდვილ ჰეშს შეყვანილი ფაილის ნომრის გამოყენებით.
პირველ რიგში, დამოკიდებულებები:
sys იმპორტიდან *იმპორტი os
pyAesCrypt იმპორტი
იმპორტი ჰასლიბი
შემდეგი, შეყვანილი პაროლის ჰეშირება:
პაროლი = argv [1]. კოდი ('utf-8') პაროლი = hashlib.sha256 (პაროლი).hexdigest ()
დაბოლოს, ჰეშირებული პაროლის მოძიება:
file_key = str (argv [2]) hash = open (("desktop/safesetup/" + file_key), ("r +")). წაკითხული ()
დაშიფვრის ფაილის მეორე ნაწილი ადარებს ჰეშებს, ადგენს შედარების სიზუსტეს და იყენებს AESCrypt პითონის ბიბლიოთეკას თქვენი არჩეული ფაილის დაშიფვრის ან გაშიფვრის მიზნით. ეს არის კოდის საკმაოდ დიდი ნაწილი, მაგრამ მე მას დავშლი:
if (პაროლი == ჰაში): ამობეჭდვა ("პაროლი მიღებულია")
ბუფერული ზომა = 64 * 1024
ოპერაცია = str (შეყვანა ("იღებთ თუ დაშიფვრავთ ფაილებს? (r ან e)"))
თუ (ოპერაცია == 'r'):
ფაილის სახელი = str (შეყვანა ("ფაილის მოსაპოვებლად:"))
pyAesCrypt.decryptFile ((ფაილის_სახელი + ".aes"), ფაილის_სახელი, პაროლი, ბუფერული ზომა)
os.remove ((ფაილის_სახელი + ".aes"))
elif (ოპერაცია == 'e'):
ფაილის სახელი = str (შეყვანა ("დაშიფვრის ფაილი:"))
pyAesCrypt.encryptFile (ფაილის_სახელი, (ფაილის_სახელი + ".aes"), პაროლი, ბუფერული ზომა)
os.remove (ფაილის_სახელი)
სხვა:
ბეჭდვა ("შეცდომა: არასწორი შეყვანა")
სხვა:
ბეჭდვა ("წვდომა აკრძალულია")
პირველი if განცხადება განსაზღვრავს ემთხვევა თუ არა ჰეშირებული პაროლები. თუ ისინი ასე იქცევიან, ის იკითხავს, გსურთ ფაილების დაშიფვრა ან დაშიფრული ფაილების მიღება. თქვენი შეყვანის მიხედვით, ის ან დაშიფვრავს ან გაშიფრავს მოწოდებულ ფაილს. როდესაც მოგთხოვთ მიუთითოთ ფაილის სახელი, დარწმუნდით, რომ მიუთითეთ გზა, თუ ფაილი არ არის იმავე დირექტორიაში, როგორც პითონის პროგრამა. პროგრამა წაშლის ფაილს თავის წინა მდგომარეობაში, შეცვლის მას დაშიფრული.aes ფაილით, ან გაშიფრავს და ცვლის მას ორიგინალური ფაილით.
მომავალში, მე შემიძლია განვაახლო ეს, რათა შევიტანო სახის ამოცნობა Python OpenCV ბიბლიოთეკის გამოყენებით, მაგრამ ამ დროისთვის პაროლები საკმარისი იქნება.
ნაბიჯი 3: ფაილების მოქმედება
კონფიგურაციის ფაილის გასაშვებად, მიჰყევით ამ ნაბიჯებს:
1. ჩაწერეთ ტერმინალი:
python3 დირექტორია/setupname.py პაროლი (დირექტორიის, კონფიგურაციის სახელისა და პაროლის შეცვლა შესაბამისი მნიშვნელობებით)
2. ტერმინალი გამოუშვებს თქვენი ფაილის ნომერს. შეინახეთ ეს.
დაშიფვრის/გაშიფვრის პროგრამის გასაშვებად მიყევით ამ ნაბიჯებს:
1. ჩაწერეთ ტერმინალი:
python3 დირექტორია/filename.py პაროლი filenumber (დირექტორია, ფაილის სახელი, პაროლი და ფაილის ნომერი შესაბამისი მნიშვნელობებით)
2. ტერმინალი ან მიიღებს ან უარყოფს თქვენს პაროლს. თუ უარყოფილია, სცადეთ ხელახლა და დარწმუნდით, რომ ჩაწერეთ სწორი მნიშვნელობები. მას შემდეგ რაც დაშვებულია წვდომა, ტერმინალი მოგკითხავთ, გსურთ ფაილის დაშიფვრა ან ფაილის მიღება. ფაილის დასაშიფრებლად აკრიფეთ e და დაშიფრული ფაილი რომ მიიღოთ, ჩაწერეთ r.
3. თქვენ მოგეთხოვებათ მიუთითოთ ფაილის სახელი. გახსოვდეთ, რომ მოგვაწოდოთ ფაილის დირექტორია, ასევე სახელი და ასევე ფაილის გაფართოება. თუმცა, თუ თქვენ გაშიფვრავთ ფაილს, არ ჩაწეროთ.aes გაფართოების ნაწილი, რადგან კოდი ამას ითვალისწინებს.
4. შემდეგ პროგრამა დაშიფვრავს ან გაშიფრავს მიწოდებულ ფაილს და წაშლის ფაილს წინა მდგომარეობაში (ინარჩუნებს დაშიფრულ ან გაშიფრულ ფაილს).
ვოილა! გმადლობთ, რომ აქტუალური გახადეთ, მე ვიცი, რომ კოდის გაკვეთილების კითხვა არ არის ყველაზე გასართობი. პითონის ფაილები მოთავსებულია ამ ნაბიჯში, მათთვის, ვისაც სურს ეს გააკეთოს. კიდევ ერთხელ, მადლობა კითხვისთვის და გისურვებთ წარმატებებს თქვენს მომავალ კოდირების მცდელობებში.
გირჩევთ:
LED Cube სიმულაციური პროგრამული უზრუნველყოფა: 5 ნაბიჯი
LED Cube სიმულაციური პროგრამული უზრუნველყოფა: მე თითქმის დავამთავრე ჩემი 8x8x8 LED კუბის მშენებლობა და მასთან ერთად მოვიდა ეს პროგრამა კომპიუტერისთვის! ის გეხმარებათ შექმნათ ანიმაციები და ახდენს მათ სიმულაციას 2D ეკრანზე, სანამ ისინი 3D- ში არ აიტვირთება. ჯერ არ არსებობს მხარდაჭერა კომუნიკაციისთვის
Windows– ის დაყენება MacBook– ზე (Apple პროგრამული უზრუნველყოფა): 8 ნაბიჯი
Windows– ის დაყენება MacBook– ზე (Apple პროგრამული უზრუნველყოფა): MacBook– ის ფლობის ერთ – ერთი უპირატესობა ის არის, რომ ის გაძლევთ არჩევანს Mac OS– ზე ან Windows– ზე (თუ დაინსტალირებულია). ეს საშუალებას აძლევს მომხმარებელს გაუშვას გარკვეული პროგრამები ან თამაშები, რომლებიც მხოლოდ Windows ოპერაციული სისტემაა. ეს სახელმძღვანელო იქნება
როგორ გააკეთოთ თქვენი პირველი მარტივი პროგრამული უზრუნველყოფა პითონის გამოყენებით: 6 ნაბიჯი
როგორ გააკეთოთ თქვენი პირველი მარტივი პროგრამული უზრუნველყოფა პითონის გამოყენებით: გამარჯობა, კეთილი იყოს თქვენი მობრძანება ამ ინსტრუქციებში. აქ მე გეტყვით, თუ როგორ უნდა შექმნათ თქვენი საკუთარი პროგრამული უზრუნველყოფა. დიახ, თუ თქვენ გაქვთ იდეა … მაგრამ იცით განახორციელოთ ან დაინტერესებული იყოთ ახალი ნივთების შექმნით, ეს თქვენთვისაა …… წინაპირობა: უნდა გქონდეთ ძირითადი ცოდნა P
Flysky RF გადამცემი იკვებება USB + მავთულის სიგნალის საშუალებით კომპიუტერთან + უფასო სიმულატორის პროგრამული უზრუნველყოფა: 6 ნაბიჯი
Flysky RF გადამცემი იკვებება USB + მავთულის სიგნალის საშუალებით კომპიუტერთან + უფასო სიმულატორის პროგრამული უზრუნველყოფა: თუ თქვენ ჩემნაირი ხართ, მოგეწონებათ შეამოწმოთ თქვენი RF გადამცემი და ისწავლეთ სანამ ჩამოაგდებთ ძვირფასო RF თვითმფრინავს/თვითმფრინავს. ეს მოგცემთ დამატებით გართობას, ხოლო დაზოგავთ უამრავ ფულს და დროს. ამისათვის საუკეთესო გზაა თქვენი RF გადამცემის დაკავშირება თქვენთან
როგორ ჩამოტვირთოთ უფასო პროგრამული უზრუნველყოფა, როგორც ISU სტუდენტი (Microsoft, Adobe და უსაფრთხოების პროგრამული უზრუნველყოფა: 24 ნაბიჯი
როგორ ჩამოტვირთოთ უფასო პროგრამული უზრუნველყოფა, როგორც ISU სტუდენტი (Microsoft, Adobe და უსაფრთხოების პროგრამული უზრუნველყოფა: Adobe– სთვის: გადადით საფეხურზე 1. Microsoft– ისთვის: გადადით საფეხურზე 8. უსაფრთხოებისათვის: გადადით საფეხურზე 12. Azure– ისთვის: გადადით საფეხურზე 16