File Hash 扩展:文件哈希计算和 Base64 编码文件,sha256、sha512 哈希

« 返回首页

File Hash 扩展

File Hash 扩展提供文件哈希计算功能,可以计算文件的 SHA256 和 SHA512 哈希值。同时包含 Base64 文本编码功能。

下载链接

uk.co.metricrat.getfilesha256V0.2.aix

uk.co.metricrat.justbase64.aix - Base64 编码扩展

功能概述

扩展特性

  • 计算文件的 SHA256 哈希值
  • 计算文件的 SHA512 哈希值(V0.2 版本新增)
  • Base64 文本编码功能
  • 支持文件路径参数
  • 简单易用的函数接口

截图

功能演示

函数

GetSHA256 获取SHA256哈希(文件路径) {:.text}
计算指定文件的 SHA256 哈希值。
  • 文件路径:文本类型,要计算哈希的文件的完整路径
  • 返回值:文本类型,计算得到的 SHA256 哈希字符串
GetSHA512 获取SHA512哈希(文件路径) {:.text}
计算指定文件的 SHA512 哈希值。
  • 文件路径:文本类型,要计算哈希的文件的完整路径
  • 返回值:文本类型,计算得到的 SHA512 哈希字符串

使用示例

基本文件哈希计算

当 计算哈希按钮.被点击
  设置 文件路径 为 "/sdcard/test.txt"
  设置 sha256结果 = FileHash1.GetSHA256(文件路径)
  设置 哈希值标签.文本 = "SHA256: " & sha256结果

同时计算 SHA256 和 SHA512

当 计算按钮.被点击
  如果 文件选择器.已选择 则
    设置 选中文件路径 = 文件选择器.路径

    设置 sha256哈希 = FileHash1.GetSHA256(选中文件路径)
    设置 sha512哈希 = FileHash1.GetSHA512(选中文件路径)

    设置 sha256标签.文本 = "SHA256: " & sha256哈希
    设置 sha512标签.文本 = "SHA512: " & sha512哈希
  否则
    显示通知 "请先选择文件"

文件完整性验证

当 验证按钮.被点击
  设置 原始哈希 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
  设置 当前哈希 = FileHash1.GetSHA256(文件路径文本.文本)

  如果 当前哈希 = 原始哈希 则
    设置 验证结果.文本 = "文件完整性验证通过"
    设置 验证结果.背景颜色 = 绿色
  否则
    设置 验证结果.文本 = "文件已修改或不完整"
    设置 验证结果.背景颜色 = 红色

Base64 编码扩展

Base64 函数

Encode 编码(文本内容) {:.text}
将文本内容编码为 Base64 格式。
  • 文本内容:文本类型,要编码的文本内容
  • 返回值:文本类型,Base64 编码后的字符串
Decode 解码(Base64文本) {:.text}
将 Base64 文本解码为原始文本。
  • Base64文本:文本类型,要解码的 Base64 字符串
  • 返回值:文本类型,解码后的原始文本

Base64 使用示例

当 编码按钮.被点击
  设置 原始文本 = 文本输入框.文本
  设置 编码结果 = Base64Encode1.Encode(原始文本)
  设置 Base64输出框.文本 = 编码结果

当 解码按钮.被点击
  设置 Base64输入 = Base64输入框.文本
  设置 解码结果 = Base64Encode1.Decode(Base64输入)
  设置 原始文本输出.文本 = 解码结果

高级应用

批量文件哈希计算

当 批量处理按钮.被点击
  设置 文件列表 = 文件管理器.获取文件列表("/sdcard/documents/")
  设置 结果列表 = 空文本

  对于每项 文件名 在 文件列表
    设置 完整路径 = "/sdcard/documents/" & 文件名
    设置 文件哈希 = FileHash1.GetSHA256(完整路径)
    设置 结果列表 = 结果列表 & 文件名 & ": " & 文件哈希 & 换行符

  设置 批量结果.文本 = 结果列表
  显示通知 "批量处理完成!"

文件备份验证

当 验证备份按钮.被点击
  设置 原始文件哈希 = FileHash1.GetSHA256(原始文件路径.文本)
  设置 备份文件哈希 = FileHash1.GetSHA256(备份文件路径.文本)

  如果 原始文件哈希 = 备份文件哈希 则
    设置 备份状态.文本 = "备份文件与原始文件完全一致"
    设置 备份状态.文本颜色 = 绿色
  否则
    设置 备份状态.文本 = "备份文件与原始文件不一致!"
    设置 备份状态.文本颜色 = 红色

注意事项

  1. 文件路径:必须提供完整的文件路径,包括文件名和扩展名
  2. 文件访问权限:确保应用有读取目标文件的权限
  3. 文件大小:大文件的哈希计算可能需要较长时间
  4. 性能考虑:频繁计算哈希可能影响应用性能
  5. 错误处理:如果文件不存在或无法访问,函数可能返回空值或错误

技术规格

  • 哈希算法:SHA256(256位)、SHA512(512位)
  • Base64 编码:标准 Base64 编码算法
  • 文件支持:所有文件类型(文本、图片、视频等)
  • 系统要求:Android 5.0 及以上版本
  • 权限要求:文件读取权限

常见用途

  • 文件完整性验证
  • 数据校验和计算
  • 安全文件传输验证
  • 备份文件一致性检查
  • 文件去重比较
  • 密码存储(建议使用加盐哈希)

相关功能

可以使用 Juan Antonio 的 Terminal 扩展 通过 Linux 命令获取文件的 SHA256 哈希:

sha256sum /absolute/path/to/file

测试环境

  • 测试设备:Android 12 设备
  • 测试版本:App Inventor Companion 2.62u
  • 测试状态:正常工作

版权信息

  • 原作者:MetricRat
  • 原始网址:https://community.appinventor.mit.edu/t/file-hash-extension/54089
  • 发布日期:2022年3月22日

文档最后更新:2025年11月18日

文档反馈