天天看點

Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密

項目介紹

項目位址:https://github.com/simplephp/encrypt-decrypt

Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密

按照加密方式可分為對稱和非對稱加密,對稱加密即發送方和接收方都是用相同的秘鑰進行加解密,非對稱加密則使用一對公私鑰來進行加解密,發送方使用公鑰加密資料,接收方可使用私鑰來解密。

  • 對稱加密:
  • 簡單的加密設計: 用密鑰對原文做位元組代替、行移動、列混淆、加輪秘鑰
               
  • 優點: 安全、快速(加解密運算速度快、資源消耗少、消耗時間少)、支援二進制
               
  • 缺點: 發送方和接收方協定秘鑰,雙方儲存好秘鑰安全不被洩漏,加重了心智負擔
               
  • 常見的對稱加密方式有 DES、3DES、AES、Blowfish、IDEA、RC5、RC6, 從安全性、資源消耗、運算速度、消耗時間綜合來看 AES 都是值得選擇的對稱加密方式。
- 注意一下代碼均為 DEMO 版本, 存在不嚴謹的地方,切勿直接拿到生産環境使用,否則後果自負。
           

項目結構

├─ Encrypt
│  ├─ AES
│     ├── Java
|         ├── Security
|             ├── src
|                 ├── com.tye.util
|                     ├── Aes.java
│     ├── Go
|         ├── security
|             ├── src
|                 ├── aes_test.go
│     ├── Python
|          ├── Aes.py
│     ├── Node
|          ├── Aes.js
│     ├── PHP
|          ├── Aes.php
│     ├── JavaScript
|          ├── Aes.html
           

如果你發現本項目涉及程式運作有誤,歡迎送出 issues 進行指正。如對您有所幫助,請不吝🌟。

關于 AES-[128|192|256]-CBC

  • Java
  • Go
  • Python
  • NodeJS
    • crypto-js
  • PHP
    • OpenSSL
  • JavaScript
    • crypto-js
  • C/C++
  • C#

AES-[128|192|256]-CBC 運作結果

結果 程式設計語言
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
Java
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
Go
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
Python
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
NodeJS
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
PHP
Java、Go、Python、NodeJS、PHP、JavaScript AES/CBC/PKCS7Padding 加解密
JavaScript

問題回報

  • 報告 issue: github issues

繼續閱讀