Estratégia de proteção de pasta de computador: 6 principais métodos de criptografia de código, abrangendo scripts Python e BAT e tutoriais detalhados

Método 1: criptografar pasta usando o PowerShell

  1. Instale o módulo de criptografia AES:
    Execute o seguinte comando no PowerShell:
Install-Module -Name AES
  1. Script para criar uma pasta criptografada:
    salve o seguinte código como EncryptFolder.ps1
param(
    [string]$folderPath,
    [string]$password
)

Import-Module AES

Get-ChildItem $folderPath -Recurse | ForEach-Object {
    
    
    if (!$_.PSIsContainer) {
    
    
        $encryptedFile = $_.FullName + ".aes"
        Protect-AesFile -Path $_.FullName -Destination $encryptedFile -Password $password
        Remove-Item $_.FullName
    }
}
  1. Criptografe a pasta usando um script:
    Execute o seguinte comando no PowerShell:
.\EncryptFolder.ps1 -folderPath "C:\path\to\your\folder" -password "your_password"

Substitua o caminho da pasta e a senha apropriados.

Método 2: criptografar pasta usando Python

  1. Instale a biblioteca de criptografia:
    execute o seguinte comando na linha de comando
pip install cryptography
  1. Script para criar uma pasta criptografada:
    salve o seguinte código como encrypt_folder.py
import os
import sys
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.primitives import padding
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.primitives import hashes, hmac
from cryptography.hazmat.backends import default_backend

def encrypt_file(file_path, password):
    with open(file_path, "rb") as file:
        data = file.read()

    salt = os.urandom(16)
    kdf = PBKDF2HMAC(
        algorithm=hashes.SHA256(),
        length=32,
        salt=salt,
        iterations=100000,
        backend=default_backend()
    )
    key = kdf.derive(password.encode())

    cipher = Cipher(algorithms.AES(key), modes.CBC(salt), backend=default_backend())
    encryptor = cipher.encryptor()

    padder = padding.PKCS7(128).padder()
    padded_data = padder.update(data) + padder.finalize()
    encrypted_data = encryptor.update(padded_data) + encryptor.finalize()

    with open(file_path + ".enc", "wb") as encrypted_file:
        encrypted_file.write(salt + encrypted_data)

    os.remove(file_path)

def encrypt_folder(folder_path, password):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            encrypt_file(file_path, password)

if __name__ == "__main__":
    folder_path = sys.argv[1]
    password = sys.argv[2]
    encrypt_folder(folder_path, password)
  1. Criptografe uma pasta usando um script:
    execute o seguinte comando na linha de comando
python encrypt_folder.py "C:\path\to\your\folder" "your_password"

Substitua o caminho da pasta e a senha apropriados.

Método 3: criptografar pastas usando Python e a biblioteca PyCryptoDome

  1. Para instalar a biblioteca PyCryptoDome,
    execute o seguinte comando na linha de comando
pip install pycryptodome
  1. Script para criar uma pasta criptografada
    Salve o seguinte código como encrypt_folder_pycryptodome.py
import os
import sys
from base64 import b64encode, b64decode
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
from Crypto.Random import get_random_bytes
from Crypto.Protocol.KDF import scrypt

def encrypt_file(file_path, password):
    with open(file_path, "rb") as file:
        data = file.read()

    salt = get_random_bytes(16)
    key = scrypt(password.encode(), salt, 32, N=2**14, r=8, p=1)

    cipher = AES.new(key, AES.MODE_GCM)
    encrypted_data, tag = cipher.encrypt_and_digest(data)

    with open(file_path + ".enc", "wb") as encrypted_file:
        encrypted_file.write(salt + cipher.nonce + tag + encrypted_data)

    os.remove(file_path)

def encrypt_folder(folder_path, password):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            encrypt_file(file_path, password)

if __name__ == "__main__":
    folder_path = sys.argv[1]
    password = sys.argv[2]
    encrypt_folder(folder_path, password)
  1. Para criptografar uma pasta usando um script,
    execute o seguinte comando na linha de comando
python encrypt_folder_pycryptodome.py "C:\path\to\your\folder" "your_password"

Substitua o caminho da pasta e a senha apropriados.

Método 4: criptografar pasta usando Python e Fernet

  1. Para instalar a biblioteca de criptografia,
    execute o seguinte comando na linha de comando
pip install cryptography
  1. Script para criar uma pasta criptografada
    Salve o seguinte código como encrypt_folder_fernet.py
import os
import sys
from cryptography.fernet import Fernet
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.backends import default_backend
from base64 import urlsafe_b64encode

def generate_key(password, salt):
    kdf = PBKDF2HMAC(
        algorithm=hashes.SHA256(),
        length=32,
        salt=salt,
        iterations=100000,
        backend=default_backend()
    )
    key = urlsafe_b64encode(kdf.derive(password.encode()))
    return key

def encrypt_file(file_path, password):
    with open(file_path, "rb") as file:
        data = file.read()

    salt = os.urandom(16)
    key = generate_key(password, salt)
    cipher = Fernet(key)

    encrypted_data = cipher.encrypt(data)
    with open(file_path + ".enc", "wb") as encrypted_file:
        encrypted_file.write(salt + encrypted_data)

    os.remove(file_path)

def encrypt_folder(folder_path, password):
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            file_path = os.path.join(root, file)
            encrypt_file(file_path, password)

if __name__ == "__main__":
    folder_path = sys.argv[1]
    password = sys.argv[2]
    encrypt_folder(folder_path, password)
  1. Para criptografar uma pasta usando um script,
    execute o seguinte comando na linha de comando
python encrypt_folder_fernet.py "C:\path\to\your\folder" "your_password"

Substitua o caminho da pasta e a senha apropriados.

Método 5: criptografar pastas com PowerShell e AES

  1. Script do PowerShell para criar uma pasta criptografada
    Salve o seguinte código como encrypt_folder_aes.ps1
param (
    [string]$folderPath,
    [string]$password
)

function Encrypt-File($file, $password) {
    
    
    $key = (New-Object Security.Cryptography.Rfc2898DeriveBytes $password, 16, 1000).GetBytes(32)
    $aes = New-Object Security.Cryptography.AesCryptoServiceProvider
    $aes.Key = $key
    $aes.IV = New-Object Byte[] 16
    $aes.Mode = [Security.Cryptography.CipherMode]::CBC
    $aes.Padding = [Security.Cryptography.PaddingMode]::PKCS7

    $content = Get-Content -Path $file -Encoding Byte
    $encrypted = $aes.CreateEncryptor().TransformFinalBlock($content, 0, $content.Length)

    Set-Content -Path ($file + ".enc") -Value $encrypted -Encoding Byte
    Remove-Item -Path $file
}

Get-ChildItem -Path $folderPath -Recurse -File | ForEach-Object {
    
    
    Encrypt-File -file $_.FullName -password $password
}
  1. Para criptografar uma pasta usando um script do PowerShell,
    execute o seguinte comando no PowerShell
.\encrypt_folder_aes.ps1 -folderPath "C:\path\to\your\folder" -password "your_password"

Método 6: Use o CMD para criptografar pastas em lote

Ocultar pastas usando lote

Abra o bloco de notas e copie e cole o seguinte código

@echo off
set /p "dir=请输入文件夹路径: "
attrib +h +s "%dir%"
echo 文件夹已隐藏
pause
  1. Salve o arquivo no formato .bat, por exemplo: hide_folder.bat.

  2. Clique duas vezes para executar o arquivo em lote. Digite o caminho da pasta para ocultar conforme solicitado e pressione Enter. Isso ocultará a pasta especificada.

  3. Para reexibir pastas, crie outro arquivo em lote como este:

Abra o bloco de notas e copie e cole o seguinte código

@echo off
set /p "dir=请输入文件夹路径: "
attrib -h -s "%dir%"
echo 文件夹已取消隐藏
pause
  1. Salve o arquivo no formato .bat, por exemplo: unhide_folder.bat.
  2. Clique duas vezes para executar o arquivo em lote. Digite o caminho da pasta para exibir conforme solicitado e pressione Enter. Isso exibirá a pasta especificada.

bloquear pasta usando lote

Abra o bloco de notas e copie e cole o seguinte código

@echo off
set /p "dir=请输入文件夹路径: "
attrib +s +h +r "%dir%"
echo 文件夹已锁定
pause
  1. Salve o arquivo no formato .bat, por exemplo: lock_folder.bat.
  2. Clique duas vezes para executar o arquivo em lote. Digite o caminho da pasta a ser bloqueada conforme solicitado e pressione Enter. Isso bloqueará a pasta especificada, tornando-a somente leitura, oculta e uma pasta do sistema.
  3. Para desbloquear a pasta, crie outro arquivo em lote como este:

Abra o bloco de notas e copie e cole o seguinte código

@echo off
set /p "dir=请输入文件夹路径: "
attrib -s -h -r "%dir%"
echo 文件夹已解锁
pause
  1. Salve o arquivo no formato .bat, por exemplo: unlock_folder.bat.
  2. Clique duas vezes para executar o arquivo em lote. Digite o caminho da pasta a ser desbloqueada conforme solicitado e pressione Enter. Isso desbloqueará a pasta especificada, tornando-a legível, visível e não uma pasta do sistema.

Observe que esses métodos não impedirão que usuários com habilidades avançadas acessem seus arquivos. Para níveis mais altos de criptografia e proteção, considere o uso de outras ferramentas de criptografia.

Acho que você gosta

Origin blog.csdn.net/tuzajun/article/details/130539065
Recomendado
Clasificación