脚本中加密解密常用哪些库

wen 实用脚本 1

本文目录导读:

脚本中加密解密常用哪些库

  1. Python
  2. JavaScript (Node.js)
  3. Bash/Shell
  4. 通用建议

在脚本编程中,加密解密常用的库根据语言不同而有所差异,以下是主流脚本语言常用的加密解密库:

Python

  1. cryptography - 最推荐的现代加密库

    • 支持对称加密(AES、ChaCha20)、非对称加密(RSA、ECC)、哈希等
    • 示例:from cryptography.fernet import Fernet
  2. PyCryptodome - PyCrypto的活跃分支

    • 支持多种加密算法(AES、DES、RSA、DSA等)
    • 示例:from Crypto.Cipher import AES
  3. hashlib - Python内置哈希库

    • 支持MD5、SHA1、SHA256等
    • 示例:import hashlib; hashlib.sha256(b'data').hexdigest()
  4. base64 / binascii - 编码库(常用于加密后数据编码)

    • 示例:import base64; base64.b64encode(data)

JavaScript (Node.js)

  1. crypto (Node.js内置) - 功能全面的加密模块

    • 支持对称加密(AES)、哈希、HMAC、数字签名等
    • 示例:const crypto = require('crypto')
  2. bcrypt / bcryptjs - 密码哈希专用库

    • 示例:const bcrypt = require('bcrypt'); bcrypt.hashSync('password', 10)
  3. jsonwebtoken - JWT令牌生成与验证

    • 示例:const jwt = require('jsonwebtoken')
  4. crypto-js - 纯JS实现的加密库

    • 适合浏览器端使用
    • 示例:CryptoJS.AES.encrypt(text, key)

Bash/Shell

  1. OpenSSL (命令行) - 最常用的加密工具

    • 对称加密:openssl enc -aes-256-cbc -salt -in file.txt -out file.enc
    • 哈希:echo -n "data" | openssl dgst -sha256
  2. GnuPG (gpg) - 非对称加密和签名

    • 示例:gpg --encrypt --recipient user@example.com file.txt
  3. base64 / openssl base64 - 编码工具

    • 示例:echo -n "data" | base64

通用建议

  • 密码哈希:使用bcrypt、scrypt或Argon2(不要自己实现)
  • 数据传输加密:优先使用TLS/SSL
  • 数据存储加密:使用AES-256-GCM等认证加密模式
  • 简单编码:base64适合编码而非加密

选择库时,优先考虑经过安全审计、有活跃维护的标准库,避免自己实现加密算法。

抱歉,评论功能暂时关闭!