java AES加密解密檔案以及字串

2021-07-09 19:10:43 字數 1765 閱讀 8067

搗鼓了兩個星期的加密解密資料夾,一開始是用異或,後來覺得太簡單換成了aes,結果一堆bug,上網查了很多,現在將這個最終的版本記錄下來。已經在android 5.1系統上測試過,是可以的。

/**

* 初始化 aes cipher

* @param skey

* @param ciphermode

* @return

*/public static cipher initaescipher (string skey, int ciphermode) throws exception

/**

* 對檔案進行aes加密

* @param sourcefile

* @param filetype

* @param skey

* @return

*/public static file encryptfile(file sourcefile,string filetype, string skey) throws exception

cipherinputstream.close();

sourcefile.delete();

inputstream.close();

outputstream.close();

log.d("mainactivity", "加密成功");

return encrypfile;

}

/**

* aes方式解密檔案

* @param sourcefile

* @return

*/public static file decryptfile(file sourcefile,string filetype,string skey) throws exception

cipheroutputstream.close();

sourcefile.delete();

inputstream.close();

outputstream.close();

log.d("mainactivity", "解密成功" );

return decryptfile;

}

如果要加密解密資料夾,只需要遍歷進行加密解密即可:

public static void encryptfolder(string strpath) catch (unsupportedencodingexception e) 

secretkey secretkey = kgen.generatekey();

return secretkey;

}

public static string encrystring(string privatekey,string content) catch (generalsecurityexception e)  catch (unsupportedencodingexception e) 

return null;

}public static string decryptstring(string privatekey,string content) catch (generalsecurityexception e) catch (unsupportedencodingexception e)

return null;

}

加密解密檔案

1 decrypt 方法允許解密使用 encrypt 方法加密的檔案。decrypt 方法只能解密使用當前使用者帳戶加密的檔案。23 decrypt 方法要求獨佔訪問被解密的檔案,如果有其他程序正在使用該檔案,此方法將引發異常。如果檔案沒有加密,則 decrypt 將返回乙個非零值,這表示成功。45...

檔案加密解密 URl引數加密解密

sliverlight 加密解密 public static class encryption endregion region silverlight密碼解密 解密資料 加密後的字串 加密前的字串 public static string decrypt string input endregio...

linux 檔案 加密 解密

單純的檔案加密 openssl enc 加密 openssl enc des e a in input file out out file 解密 openssl enc des d a inout file out input file 方法一 用tar命令 對檔案加密壓縮和解壓 壓縮 tar zc...