私は、特定のパスの後にあるすべてのファイルを暗号化する小さなスクリプトをプログラミングしています。私の場合、スクリプトrealpath ... は最初のフォルダ(スクリプトディレクトリ)にはうまくいきますが、次のディレクトリに移動すると、2番目のディレクトリ階層にあるファイルにcdしようとします。 ツリーは[ファイル、ファイル、フォルダ[ファイル、ファイル]、ファイル、ファイル]のように見えます。すべてのディレクトリのファイルを取得する(Py)
(私も知っていますが、スクリプトとキーも暗号化されますが、私はまだそれを怠けていました。 ...と私の下手な英語のため申し訳ありませんが、私はあなたが私を理解することを願って:P)
マイコード:
import os
import Crypto
from Crypto.PublicKey import RSA
def cryptFilesInFolder(currentDir):
content_list = os.listdir(currentDir)
print content_list
print '[+] Start encrypting files in Dir: ' + currentDir
for filename in content_list:
print '[+] Encrypting ' + filename
crypt(filename, key, currentDir)
def crypt(filename, key, currentDir):
try:
f = open(filename, 'r')
fileString = f.read()
f.close()
print '[+] Encrypting file: ' + filename + ' with 4096 bytes'
encryptedFileString = key.publickey().encrypt(fileString, 4096)
f = open (filename, 'w')
f.write(str(encryptedFileString)) #write ciphertext to file
f.close()
except IOError:
print '[!] File was a folder'
cryptFilesInFolder(currentDir + '/' + filename)
print '[+] Startet Crypting'
print '[+] Reading Key'
f = open('mykey.pem','r')
key = RSA.importKey(f.read())
f.close()
print '[+] Key imported'
print '[+] Setting Root Directory'
rootDir = os.path.realpath(__file__)
print 'Root Directory set'
print '[+] Starting encryption in folder: '
cryptFilesInFolder(os.path.dirname(os.path.realpath(__file__)))
print '[+] Finished \n\n\n'
エラーメッセージ:
Bjarne-2:crypt bjarne$ python crypt\ folder\ Kopie.py
[+] Startet Crypting
[+] Reading Key
[+] Key imported
[+] Setting Root Directory
Root Directory set
[+] Starting encryption in folder:
['.DS_Store', 'crypt folder Kopie.py', 'myKey.pem', 'Neuer Ordner']
[+] Start encrypting files in Dir: /Users/bjarne/Desktop/crypt
[+] Encrypting .DS_Store
[+] Encrypting file: .DS_Store with 4096 bytes
[+] Encrypting crypt folder Kopie.py
[+] Encrypting file: crypt folder Kopie.py with 4096 bytes
[+] Encrypting myKey.pem
[+] Encrypting file: myKey.pem with 4096 bytes
[+] Encrypting Neuer Ordner
[!] File was a folder
['.DS_Store', 'key Kopie.py']
[+] Start encrypting files in Dir: /Users/bjarne/Desktop/crypt/Neuer Ordner
[+] Encrypting .DS_Store
[+] Encrypting file: .DS_Store with 4096 bytes
[+] Encrypting key Kopie.py
[!] File was a folder
Traceback (most recent call last):
File "crypt folder Kopie.py", line 37, in <module>
File "crypt folder Kopie.py", line 11, in cryptFilesInFolder
File "crypt folder Kopie.py", line 25, in crypt
File "crypt folder Kopie.py", line 11, in cryptFilesInFolder
File "crypt folder Kopie.py", line 25, in crypt
File "crypt folder Kopie.py", line 6, in cryptFilesInFolder
OSError: [Errno 20] Not a directory: '/Users/bjarne/Desktop/crypt/Neuer Ordner/key Kopie.py'