BlackBerry WebWorks SDK for Tablet OS構建工具生成包含文件和MANIFEST.MF的存檔,其中包含每個文件的條目以及base64編碼的SHA512摘要。但是,存在一個錯誤,即構建中的文件太多會導致構建失敗。我想弄清楚如何自己生成同樣的信息。爲文件(或文件集)生成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腳本。