方案
加簽
待加簽數據整理為String
(待加簽數據+密鑰)一起轉化為MD5
結果寫入數據庫
驗簽
待驗簽數據整理為String(邏輯必須同加簽一致)
(待驗簽數據+密鑰)一起轉化為MD5
比較與原簽是否一致
public static String sign(String text, String salt, String inputCharset) { return DigestUtils.md5Hex(getContentBytes(text + salt, inputCharset)); } public static boolean verify(String text, String sign, String salt, String inputCharset) { String mysign = DigestUtils.md5Hex(getContentBytes(text + salt, inputCharset)); return mysign.equals(sign); } private static byte[] getContentBytes(String content, String charset) { if (charset == null || "".equals(charset)) { return content.getBytes(); } try { return content.getBytes(charset); } catch (UnsupportedEncodingException e) { throw new RuntimeException("MD5簽名過程中出現錯誤,指定的編碼集不對,您目前指定的編碼集是:" + charset); } }性能測試
執行100萬組加驗簽操作,本機用時1400ms。也就是平均每組加驗簽用時0.0014ms(粗略估計)。
public static void main(String[] args) { FinanceAccount fa = new FinanceAccount(); fa.setBalance(BigDecimal.TEN); fa.setLocking(BigDecimal.TEN); String salt = "dskfnweabghcxoihvwei"; String signature = SecurityUtil.sign(fa.toSignString(), salt, null); int i = 0; long start = System.currentTimeMillis(); while (++i < 1000000) if (SecurityUtil.verify(fa.toSignString(), signature, salt, null)) { SecurityUtil.sign(fa.toSignString(), salt, null); } else { System.out.println("verification fail!"); } } System.out.println((System.currentTimeMillis() - start)); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77290.html
摘要:比如加密算法但是加密也存在局限性,需要定期維護。當然聰明的你可能會說,那我就使用非對稱加密算法,比如好了。所以本次結合了和來實現我們的數據傳輸。發送方接收到請求返回結果后,通過約定的方式對返回結果進行處理,以供后續使用。 最近公司需要通過公網與其它平臺完成接口對接,但是基于開發時間和其它因素的考慮,本次對接無法采用https協議實現。既然不能用https協議,那就退而求其次采用http...
摘要:本文中就以算法壓縮圖像的過程為例,簡單介紹一下圖像防篡改的方法。這一步不在本次視頻防篡改算法中,不做過多介紹。這一步在本次的視頻圖像防篡改中起到了至關重要的作用。而圖像中的中頻部分是比較適合進行防篡改修改的部分。 大家都知道視頻中圖像壓縮的重要性,但是圖像的安全性也至關重要。特別是在一些需要知識產權保護的視頻文件中(比如教育類的視頻就是其中的典型),對于視頻信息的保護就顯得尤為重要。那...
摘要:快速高效的測試工具及腳本,能使程序猿的開發工作事半功倍。筆者構想與編寫整個自動化測試腳本只花費了幾個工作日中的零碎時間,但是使用自動化測試腳本后讓整個開發測試周期節省的時間遠超幾個工作日。 ...
摘要:微軟公司推出了,這是平臺上一種新的防篡改存儲服務,該服務用于保護敏感數據。微軟表示,還提供了許多可管理功能方面的優勢。微軟在一篇博客文章中解釋道同樣的存儲環境可用于標準及不可變存儲。微軟針對行業的云產品線在不斷地豐富,是其中最新的成員。微軟公司推出了Immutable Blob Storage,這是Azure平臺上一種新的防篡改存儲服務,該服務用于保護敏感數據。此次推出的這項服務主要針對的是...
摘要:相比起來,支付寶的下單動作由于是在前端調用的,因此,站點需要將自己的訂單信息返回到客戶端,然后又客戶端發起調用支付寶的下單接口,這樣一來,如果安全加密等做的不到位,很容易被惡意用戶篡改信息。 作為一個具備用戶交易能力的網站,豐富它的支付渠道對于獲客和提高日活都有不可估量的積極作用。算起來,我接觸過的支付系統也有幾十個了,在這里總結一下我所接觸過的支付系統對外接口的設計方案。 1. 支付...
閱讀 3389·2021-11-24 09:38
閱讀 1388·2021-11-22 15:08
閱讀 1461·2021-09-29 09:35
閱讀 479·2021-09-02 15:11
閱讀 1307·2019-08-30 12:55
閱讀 389·2019-08-29 17:16
閱讀 495·2019-08-29 11:30
閱讀 421·2019-08-26 13:23