背景是醬紫的,對一串字符串作了AES解密後獲得的密文,從密文中截取了簽名,和以前存在數據庫裏的簽名進行比較驗籤的時候,一直失敗,打印兩個簽名值出來看,如出一轍...算法
Google後在一篇博客裏發現了這句'String values are compared byte-wise (lexically).' and 'zero value for string is "" ',大概的意思就是,string 的比較其實是比較對應的byte數組的,以後打印了兩個簽名的byte值,玄機顯現,密文中的簽名值最後有7,7,7,7,7]這樣的值,目測是進行AES加密的時候加密算法補位致使的...shell
解決辦法,根據數據庫中籤名值的長度對密文中的簽名作了截取,而後比較,妥了...數據庫
推薦閱讀:AES 圖文詳解,Golang字符串比較數組