You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Google Colab上使用OpenSSL实现各类常用密码学功能?

Google Colab完全可以实现与本地OpenSSL完全一致的使用效果,Colab底层基于Ubuntu Linux发行版,可直接调用系统原生OpenSSL工具,所有运算逻辑、输出格式和本地OpenSSL环境无任何差异。

1 环境准备

Colab默认已预装OpenSSL,执行以下命令验证版本即可:

!openssl version

若环境异常无OpenSSL,执行以下命令安装:

!apt update && apt install -y openssl

注:Colab Notebook中执行Shell命令需在命令前加!前缀

2 常用密码学操作示例

所有操作输出的文件均默认存储在Colab临时存储空间,实例关闭后会自动清除,重要数据需及时导出。

2.1 生成RSA密钥对

  • 生成2048位无加密RSA私钥(PEM格式):
!openssl genrsa -out rsa_private_key.pem 2048
  • 从私钥导出对应公钥:
!openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
  • 若需生成带AES256加密保护的私钥,使用以下命令,执行时按提示输入密码即可:
!openssl genrsa -aes256 -out encrypted_rsa_private.pem 2048

2.2 公钥加密/私钥解密

适用于小体积内容加密,大体积内容建议搭配对称加密使用。

  • 先创建测试明文文件:
!echo "测试明文内容:abc123!@#" > plaintext.txt
  • 使用RSA公钥加密明文,输出密文文件:
!openssl rsautl -encrypt -pubin -inkey rsa_public_key.pem -in plaintext.txt -out ciphertext.bin
  • 使用RSA私钥解密密文:
!openssl rsautl -decrypt -inkey rsa_private_key.pem -in ciphertext.bin -out decrypted.txt
  • 验证解密结果:
!cat decrypted.txt

2.3 哈希运算

支持MD5、SHA1、SHA256、SHA512等所有OpenSSL支持的哈希算法,以下为SHA256示例:

  • 对字符串做哈希计算:
!echo -n "待哈希的测试消息" | openssl dgst -sha256
  • 对文件做哈希计算:
!openssl dgst -sha256 plaintext.txt

2.4 文件签名与验签(SHA256+RSA)

  • 使用RSA私钥对文件生成签名:
!openssl dgst -sha256 -sign rsa_private_key.pem -out signature.bin plaintext.txt
  • 使用RSA公钥验证签名:
!openssl dgst -sha256 -verify rsa_public_key.pem -signature signature.bin plaintext.txt

验证通过会输出Verified OK,内容篡改或密钥不匹配会输出Verification Failure。

2.5 创建自签名证书及使用

  • 一键生成证书签名请求(CSR)和对应私钥(无交互模式):
!openssl req -newkey rsa:2048 -nodes -keyout cert_private.key -out cert_request.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=TestOrganization/OU=TestUnit/CN=test.example.com"
  • 生成有效期365天的自签名X509证书:
!openssl x509 -req -days 365 -in cert_request.csr -signkey cert_private.key -out self_signed.crt
  • 查看证书完整信息:
!openssl x509 -in self_signed.crt -text -noout
  • 使用证书公钥加密内容:
!openssl rsautl -encrypt -certin -inkey self_signed.crt -in plaintext.txt -out cert_cipher.bin

内容的提问来源于stack exchange,提问作者Johan Rougé

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:48:00