動態生成簽名工具類
要求
根據方法的入參值拼接成動態的祕鑰,進行MD5加密,引數名 ASCII 碼從小到大排序(字典序)
public class SignUtil {
/**
* 生成簽名
*
* @param map
* @return
*/
public static String getSign(Map<String, String> map) {
String result = "";
try {
List<Map.Entry<String, String>> infoIds = new ArrayList<Map.Entry<String, String>>(map.entrySet());
// 對所有傳入引數按照欄位名的 ASCII 碼從小到大排序(字典序)
Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
return (o1.getKey()).toString().compareTo(o2.getKey());
}
});
// 構造簽名鍵值對的格式
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, String> item : infoIds) {
if (item.getKey() != null || item.getKey() != "") {
String key = item.getKey();
String val = item.getValue();
if (!(val == "" || val == null)) {
sb.append(key + "=" + val + "&");
}
}
}
sb.append("secret=").append(ParkingCloudConstant.SECRET);
result = sb.toString();
//進行MD5加密
result = DigestUtils.md5Hex(result).toUpperCase();
} catch (Exception e) {
return null;
}
return result;
}
}
相關文章
- 通過類名動態生成物件物件
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- iOS簽名、iOS企業簽名、iOS超級簽名工具使用iOS
- html生成郵件簽名HTML
- 蘋果企業簽名:動態庫注入與企業證書重簽名蘋果
- openssl生成自簽名證書
- MACSHA256加密生成簽名Mac加密
- PHP 做 RSA 簽名 生成訂單PHP
- JS如何動態生成變數名[重點]JS變數
- canvas橫屏簽名,簽名圖片旋轉90度生成base64Canvas
- 使用OpenSSL生成自簽名SSL證書
- 程式碼簽名、驅動簽名的常見問題解答
- 程式碼簽名好用的工具推薦
- Net8 使用BouncyCastle 生成自簽名證書AST
- app直播原始碼,uniapp隨機數生成簽名APP原始碼隨機
- win10怎樣禁用驅動簽名_如何禁用win10驅動簽名Win10
- 為什麼驅動程式簽名需要EV程式碼簽名證書
- 蘋果企業簽名的三種型別,企業簽名是如何分類的?蘋果型別
- win10過驅動簽名Win10
- 二維碼生成工具類
- 蘋果企業簽名多少錢-ios企業簽名-企業簽名蘋果iOS
- 群簽名與環簽名的介紹
- CBNData:2018電子簽名生態大資料大資料
- Android程式設計師必會技能---執行時動態生成類---之動態代理Android程式設計師
- Android程式設計師必會技能—執行時動態生成類—之動態代理Android程式設計師
- 利用766IPA/iOS/蘋果簽名工具在Mac和win電腦上進行簽名iOS蘋果Mac
- win10驅動簽名禁用後果_win10驅動程式簽名有什麼用Win10
- Pressone 簽名
- 簽名修改
- 環簽名
- vue3 最佳化ai生成的手寫簽名VueAI
- 申請程式碼簽名證書如何生成CSR檔案
- iOS逆向——應用簽名及重簽名原理iOS
- iOS證書籤名機制&重簽名&防止重簽名iOS
- 程式碼簽名會成為一種常態嗎
- 蘋果簽名該怎麼去選擇呢?iOS企業簽名-企業簽名蘋果iOS
- Roslyn 編譯器Api妙用:動態生成類並實現介面ROS編譯API
- Android v1 簽名 和 v2+ 簽名Android