诚城的成长 诚城的成长
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)

诚城

我有N个梦想……
首页
  • 高数基础
  • 数一

    • 高等数学
    • 线性代数
    • 概率论与数理统计
  • 820

    • 数据结构
    • 计算机操作系统
  • 英一

    • 单词
    • 语法
    • 阅读理解
    • 作文
  • 政治

    • 马克思主义基本原理
    • 毛泽东
    • 近代史
    • 思修
    • 时事
  • openpose
  • html5
  • css3
  • UI

    • Tailwind Css
    • Element-Plus
    • UniApp
  • 框架

    • Vue3
  • 拓展包

    • 包管理工具
    • 包开发
  • 开发语言

    • C语言
    • PHP
    • Phyton
  • 框架

    • Laravel
  • 会计

    • 初级经济法基础
    • 初级会计实务
  • 软考

    • 信息系统项目管理师
  • 博客

    • vitepress
    • vuepress
  • manim
  • git
  • vsCode
  • latex
  • docker
  • axios
  • vim
  • mac
  • Jetbrains

    • phpstorm
    • clion
突发奇想
GitHub (opens new window)
  • 数组
  • AES
    • Openssl
      • 加密
  • PHP8
诚城
2022-06-20
目录

AES原创

# Openssl

php 7 8

# 加密

官网说明 php8 (opens new window)

openssl_encrypt(
    string $data,
    string $cipher_algo,
    string $passphrase,
    int $options = 0,
    string $iv = "",
    string &$tag = null,
    string $aad = "",
    int $tag_length = 16
): string|false
  • data 要加密的明文信息。
    如果加密的内容为数组,可以使用json_encode()将其转换为字符串,在进行加密
  • cipher_algo,密码学方式,即加密方式。
  • passphrase,若passphrase比预期的端,将默认使用nul填充,若比预期的长度更长,将静默截断。
    • 128 192 256
      分别对应16位、24位、32位密钥长度。[1位8字节]
    • 5种加密模式
      • # CBC 密码分组链接模式 Cipher Block Chaining

        又称密码分组链接
        先将明文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,再与密钥进行加密。

      • # ECB 电码本模式 Electronic Codebook Book

        将整个明文分成若干段相同的小段,然后对每一小段进行加密。

      • # OCF 计算器模式 Counter

        计算器模式不常见,在CTR模式中, 有一个自增的算子,这个算子用密钥加密之后的输出和明文异或的结果得到密文,相当于一次一密。这种加密方式简单快速,安全可靠,而且可以并行加密,但是在计算器不能维持很长的情况下,密钥只能使用一次。

      • # CFB 密码反馈模式 Cipher FeedBack

      • # OFB 输出反馈模式 Output FeedBack

  • options,是以下标记的按位或:OPENSSL_RAW_DATA、OPENSSL_ZERO_PADDING
    OPENSSL_RAW_DATA方式【会用PKCS#7进行补位】
    OPENSSL_ZERO_PADDING方式『0填充』
    OPENSSL_NO_PADDING【不填充,需要手动填充】
  • iv,非NULL的初始化向量
    必须是16位字符。
  • tag,使用 AEAD 密码模式(GCM 或 CCM)时传引用的验证标签。
  • aad,附加的验证数据。
  • tag_length,验证 tag 的长度。GCM 模式时,它的范围是 4 到 16
上次更新: 2022/08/23, 18:12:45
数组

← 数组

Theme by Vdoing | Copyright © 2022-2022 carveybunt | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×

特别申明:

本站所有内容均为个人理解或转载,如有不当之处,敬请大佬指导!