AES 在 Linux 下解密錯誤
javax.crypto.BadPaddingException:Given final block not properly padded。
解決方法
修改前程式碼:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128, new SecureRandom(key.getBytes()));
SecretKey secretKey = kgen.generateKey();
以上方法在Windows下可以正常執行,且加解密成功,但是在 Linux 下執行時,解密時會報錯:Given final block not properly padded。
修改後程式碼:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");//①
random.setSeed(key.getBytes());
kgen.init(128, random);
參考文章:
相關推薦
AES 在 Linux 下解密錯誤
javax.crypto.BadPaddingException:Given final block not properly padded。 解決方法 修改前程式碼: KeyGenerator kgen = KeyGenerator.getIns
linux下link錯誤undefined reference’dlclose’
最近因為換了工作,伺服器是在linux環境下,又開始搗鼓linux了,與同事兩天的奮戰中,發現差不多可以寫一本《某哥的linux私房菜》了,開個玩笑。對於linux我持中立態度,而且我認為linux這麼多年發展比較慢的原因是因為桌面化做的不好或者不夠好,所以我比較偏愛ubuntu。由於以前專案是makefil
Linux下send錯誤程式碼32
問題描述:今天寫程式,socket後send出現這個問題,send的返回值為-1,而errno為32,這個錯誤程式碼為broken pipe,即管道破裂。 問題形成原因:後來通過排查研究,發現出現該種問題出現的可能性為以下兩種: 1.socket失敗,與伺服器端的
windows下編輯指令碼檔案在linux下出現錯誤
問題: 使用./shell.sh 出現出現錯誤:“/bin/sh^M:bad interpreter” 使用sh shell.sh 生成的檔案會出現"a.txt^M"或者“a.txt?” 分析: 這裡這種情況的出現是因為,指令碼是在windows下編寫的,然後傳到
Linux下./configure錯誤詳解
說明: sudo apt-get install package-name 更新你指定的軟體包 sudo apt-get update 獲取更新列表 sudo apt-get dist-upgrade 開始更新
嵌入式 Linux下段錯誤的原因和除錯方式
[email protected]:~/segfault$ catchsegv ./segfault3 Segmentation fault (core dumped) *** Segmentation fault Register dump: EAX: 00000000 EBX: 00fb3f
Linux下errno錯誤資訊對照
在庫函式中有個errno變數,每個errno值對應著以字串表示的錯誤型別。 以下主要來自2.6.32的核心程式碼中的/usr/include/asm-generic/errno.h及errno-bas
linux下的錯誤捕獲errno和strerror()
#define ESUC 0 /* Success */ #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No suc
linux下mysql錯誤
明明裝了mysql,執行mysql命令時確報錯:-bash: mysql: command not found 原因:這是由於系
AES加密解密Windows下跟linux下結果不同的解決方案
現象描述: 在 windows 作業系統下加解密正常,但部署到 linux 環境中相同的輸入加密結果不正確,並且每次執行返回的結果都不同。 原理: 加密過程需手動指定隨機數的生成規則,同理在解密過程中也需手動指定隨機數的生成規則。 java.security.Secure
解決Linux下AES解密失敗
前段時間,用了個AES加密解密的方法,詳見上篇部落格AES加密解密。加解密方法在window上測試的時候沒有出現任何問題,將加密過程放在安卓上,解密釋出到Linux伺服器的時候,安卓將加密的結果傳到Linux上解密的時候卻總是失敗,讓使用者不能成功登入,經過
關於AES在Linux下加密解密出錯問題解決方案
現象描述: windows 上加解密正常, linux 上加密正常,解密時發生如下異常 : javax.crypto.BadPaddingException: Given final block not properly padded at com.sun.crypto.provider
Linux下AES解密失敗
invalid 部分 see byte blocks tst valid generator stack 在win下正常運行但在linux下報錯Given final block not properly padded. Such issues can arise if a
Linux下使用vi新建文件保存文件時遇到錯誤:E212: Can't open file for writing
mage images roo .cn logs 分享 思路 操作 新建 出現E212: Can‘t open file for writing的問題是由於權限問題導致的,解決方法有以下思路: 1、使用root進行登錄,然後再操作。 2、在使用命令時,前面加sudo
linux 下出現 SHELL syntax error:unexpected end of file 提示錯誤
shell syntax error 基本上可以判斷是字符異常錯誤首先註釋掉盡快會出錯的代碼,然後進行判斷如果代碼沒有問題,可以修改字符格式vim文本下,esc推出編輯模式 :set fileformat unix ,最後:wq 保存 ,錯誤消失。 參考http://blog.csdn.net/
Linux下如何生成core dump 文件(解決segment fault段錯誤的問題)
http alt 系統設置 images mit 只讀 功能 lin 設置 Linux下的C程序常常會因為內存訪問等原因造成segment fault(段錯誤),如果此時core dump 的功能是打開的,在運行我們的可執行程序時就會生成一個名為core的文件,然後我們就可
Linux下利用backtrace追蹤函數調用堆棧以及定位段錯誤[轉]
調試 寫入文件 如果 通過 來源 res c函數 glibc tac 來源:Linux社區 作者:astrotycoon 一般察看函數運行時堆棧的方法是使用GDB(bt命令)之類的外部調試器,但是,有些時候為了分析程序的BUG,(主要針對長時間運行程序的分析),在程序
Linux下使用Nginx代理訪問json文件包404錯誤
方案 onf 圖片 代理 con 發現 404錯誤 image 解決 在網上看了很多,都說是IIS的問題,關鍵是使用servlet就可以正常訪問,使用Nginx就不行,最後發現是其他問題,解決方案如下: 1.確認配置的路徑是否正確,Nginx代理的路徑和你訪問的路徑。 2.
Linux下編譯PHP常見錯誤及解決方法
locate freetype evel distrib 常見 expec fin install erro 1、configure: error: xml2-config not found. Please check your libxml2 installation.
linux下openoffice安裝及錯誤解決
標題linux下openoffice安裝及錯誤解決 (1)下載: 可以在windows下載然後拖到linux解壓(我用的這個) 網址:http://www.openoffice.org/download/index.html,下載適合你版本的 liunx下載命令:wget https