BlackBerry WebWorks SDK for Tablet OS构建工具会生成一个存档,其中包含文件和一个 MANIFEST.MF,其中包含每个文件的条目和一个 base64 编码的 SHA512 摘要。但是,存在一个错误,即构建中的文件过多会导致构建失败。我试图弄清楚如何自己生成相同的信息。
下面的示例来自MANIFEST.MF
,它包含文件名和摘要。但是,base64 变体使用_
代替/
和-
代替,+
并且没有==
填充尾随。
Archive-Asset-Name: air/XX/IMG_0999.jpg
Archive-Asset-SHA-512-Digest: YI_KXWjpJwwsi5MDQPeBQc9SVi-bH6zYq5PgBD3jQiqHu-r-5Hv8A0yh_y5j2T9MpYZ5TVMW4JXHSXNYmpV1tA
我运行 Windows 7,但安装了 GIT,所以我将 MINGW32 作为 bash shell。我发现了 openssl 和 tr 命令的这种管道组合,但它似乎有点杂乱无章。
openssl dgst -sha512 -binary IMG_0999.gif | openssl enc -base64 | tr '+' '-' | tr '/' '_' | tr -d '=' | tr -d '\n'
有没有更好的方法来生成这个摘要?
最终,我将不得不对目录树中的所有图像进行处理。我希望有一个脚本解决方案,而不必编写程序。第二个问题是如何为目录中的所有文件生成清单语法(递归)。这会是包含上述命令的 bash shell 脚本吗?由于我之前没有编写过 shell 脚本,因此这里的任何指针都值得赞赏。