YStudio Y++

加密解密(基础支持库)

Y++ / YStudio 开发文档 · 一点滴

路径:支持库 → 基础支持库 → 加密解密。

硬约束

  1. 扁平命令:AES加密(...),无对象前缀。
  2. AES 与 ZIP / SQLite 整库加密同源(PBKDF2-SHA1 + AES-256-CTR + HMAC-SHA1),容器魔数文本 YPLAES01(不是 WinZip)。
  3. AES 入参是字节集;文本请先 文本到编码字节集(内容, "utf-8")。
  4. 失败:字节集命令→空;逻辑→假;立刻查 AES取最后错误()。
  5. AES是否加密 只认魔数,不校验密码是否正确。
  6. RC4加密 / XOR加密 同密钥再调一次即还原;不是安全加密。
  7. 文件 API 整文件进内存;超大文件请自行分块。
  8. Base64 / URL / HTML / 十六进制 / 文本 MD5·SHA → 编码支持库。

快速开始

字节集 raw = 文本到编码字节集("机密", "utf-8")
字节集 enc = AES加密(raw, "pwd")
如果 (AES是否加密(enc)) {
    字节集 plain = AES解密(enc, "pwd")
    输出(编码字节集到文本(plain, "utf-8"))
} 否则 {
    输出(AES取最后错误())
}
输出(生成UUID())

加密解密

本分类共 14 条。

Unicode编码

  • 签名:文本 Unicode编码(文本 文本)
  • 说明:将文本转换为 Unicode 转义序列(\uXXXX);非 ASCII 字母数字会编码。
  • 参数一│文本: 要编码的文本。

Unicode解码

  • 签名:文本 Unicode解码(文本 Unicode文本)
  • 说明:将 \uXXXX 转义序列解码为普通文本。
  • 参数一│Unicode文本: 含 \uXXXX 的文本。

MD5字节集

  • 签名:文本 MD5字节集(字节集 数据)
  • 说明:计算字节集的 MD5,返回十六进制文本。文本请用编码支持库「取MD5」。
  • 参数一│数据: 原始字节集。

RC4加密

  • 签名:文本 RC4加密(文本 内容, 文本 密钥)
  • 说明:使用 RC4 流密码加/解密(同一函数,相同密钥再调一次即可还原)。
  • 参数一│内容: 明文或密文。
  • 参数二│密钥: 任意长度密钥。

XOR加密

  • 签名:文本 XOR加密(文本 内容, 文本 密钥)
  • 说明:使用密钥对文本做 XOR 加/解密(同一函数可逆)。
  • 参数一│内容: 明文或密文。
  • 参数二│密钥: XOR 密钥。

生成UUID

  • 签名:文本 生成UUID([逻辑 带横线=真])
  • 说明:生成 UUID 字符串。
  • 参数一│[带横线=真]: 真带连字符;假为连续 32 位十六进制。

AES加密

  • 签名:字节集 AES加密(字节集 数据, 文本 密码)
  • 说明:用 AES-256 加密字节集,返回带 YPLAES01 头的密文字节集。失败返回空字节集。
  • 参数一│数据: 明文字节集。
  • 参数二│密码: 非空口令。

AES解密

  • 签名:字节集 AES解密(字节集 数据, 文本 密码)
  • 说明:解密 AES加密 产生的字节集。密码错误或格式不对时返回空字节集。
  • 参数一│数据: 带 YPLAES01 头的密文。
  • 参数二│密码: 加密时使用的口令。

AES加密文件

  • 签名:逻辑 AES加密文件(文本 源路径, 文本 目标路径, 文本 密码)
  • 说明:把整个文件读入后 AES-256 加密,写入目标路径。成功返回真。
  • 参数一│源路径: 明文文件。
  • 参数二│目标路径: 密文输出;父目录不存在时会创建。
  • 参数三│密码: 非空口令。

AES解密文件

  • 签名:逻辑 AES解密文件(文本 源路径, 文本 目标路径, 文本 密码)
  • 说明:解密 AES加密文件 写出的文件。密码错误或不是本格式时返回假。
  • 参数一│源路径: YPLAES01 密文文件。
  • 参数二│目标路径: 明文输出。
  • 参数三│密码: 加密时使用的口令。

AES是否加密

  • 签名:逻辑 AES是否加密(字节集 数据)
  • 说明:判断字节集是否以 YPLAES01 开头。只看魔数,不校验密码。
  • 参数一│数据: 待判断的字节集。

AES是否加密文件

  • 签名:逻辑 AES是否加密文件(文本 路径)
  • 说明:判断文件头是否为 YPLAES01。打不开文件时返回假,可用 AES取最后错误()。
  • 参数一│路径: 文件路径。

AES取最后错误

  • 签名:文本 AES取最后错误()
  • 说明:返回最近一次 AES 命令的失败原因;成功或尚未调用时为空文本。

生成随机密钥

  • 签名:文本 生成随机密钥([整数 长度=16])
  • 说明:生成指定长度的随机字母数字密钥(A-Z/a-z/0-9),不是十六进制。长度表示字符个数,默认 16。
  • 参数一│[长度=16]: 生成的字符个数(不是字节数,也不是 hex 位数)。

易错对照

错误 正确
AES 直接传文本 先转字节集
RC4/XOR 当机密存储 仅混淆;机密用 AES
AES是否加密 当真校验密码 只认魔数
Base64/MD5 找本页 见编码支持库

相关

编码支持库 · ZIP支持库 · UUID类