本篇文章为大家展示了android应用中怎么对视频进行加密与解密,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
MainActivity.java
public class MainActivity extends Activity { // 原文件 private static final String filePath = "/sdcard/DCIM/Camera/VID_20140217_144346.mp4"; // 加密后的文件 private static final String outPath = "/sdcard/DCIM/Camera/encrypt.mp4"; // 加密再解密后的文件 private static final String inPath = "/sdcard/DCIM/Camera/decrypt.mp4"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button encryptButton = (Button) findViewById(R.id.main_encrypt); Button DecryptButton = (Button) findViewById(R.id.main_decrypt); encryptButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { encrypt(); Toast.makeText(getApplicationContext(), "加密完成", Toast.LENGTH_SHORT).show(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (NoSuchPaddingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); DecryptButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { decrypt(); Toast.makeText(getApplicationContext(), "解密完成", Toast.LENGTH_SHORT).show(); } catch (InvalidKeyException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (NoSuchPaddingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); } static void encrypt() throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException { // Here you read the cleartext. FileInputStream fis = new FileInputStream(filePath); // This stream write the encrypted text. This stream will be wrapped by // another stream. FileOutputStream fos = new FileOutputStream(outPath); // Length is 16 byte SecretKeySpec sks = new SecretKeySpec("MyDifficultPassw".getBytes(), "AES"); // Create cipher Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, sks); // Wrap the output stream CipherOutputStream cos = new CipherOutputStream(fos, cipher); // Write bytes int b; byte[] d = new byte[8]; while ((b = fis.read(d)) != -1) { cos.write(d, 0, b); } // Flush and close streams. cos.flush(); cos.close(); fis.close(); } static void decrypt() throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException { FileInputStream fis = new FileInputStream(outPath); FileOutputStream fos = new FileOutputStream(inPath); SecretKeySpec sks = new SecretKeySpec("oldfeelwasverynb".getBytes(), "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, sks); CipherInputStream cis = new CipherInputStream(fis, cipher); int b; byte[] d = new byte[8]; while ((b = cis.read(d)) != -1) { fos.write(d, 0, b); } fos.flush(); fos.close(); cis.close(); }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 中变量的类型究竟有哪些呢?(java中变量的类型有哪些)
- Java 中创建新文件的文件锁定策略有哪些?(Java createnewfile的文件锁定策略)
- Java 是否支持容器编排?全面解析与实践指南(contain java是否支持容器编排)
- Java 如何通过调用方法来输出数据?(java怎么调用方法输出数据)
- uncomtrade数据库支持的格式大全
- Java OGNL 表达式的解析原理究竟是什么?(java ognl表达式的解析原理是什么 )
- Java泛型中的 extends 操作符对性能有哪些影响?(Java泛型extends的性能影响如何)
- 如何掌握 Java 图形化界面设计原则?(java图形化界面设计原则)
- 在 Java 中如何获取栈顶元素?(java怎么获取栈顶元素)
- 软考高级考试可以自己选批次吗?
猜你喜欢
AI推送时光机android应用中怎么对视频进行加密与解密
后端开发2023-05-31
怎么在java中使用Base64进行加密与解密
后端开发2023-06-14
如何使用vbs对QWERTY密码进行加密与解密
后端开发2023-06-08
怎么在Android中利用RSA算法进行加密和解密
后端开发2023-05-30
如何在Java中使用RSA加密对密码进行加密解密
后端开发2023-05-31
如何在java中使用RSA算法对密码进行加密与解密
后端开发2023-05-31
怎么在Android中对视频进行压缩
后端开发2023-05-30
使用springboot怎么对数据库密码进行加密
后端开发2023-06-14
Laravel中怎么对大文件进行加密
后端开发2023-06-15
php7+中怎么使用openssl替代mcrypt进行AES加密解密
后端开发2023-06-15
Oracle中怎么进行数据加密和解密操作
后端开发2024-04-08
详解Android使用Socket对大文件进行加密传输
后端开发2023-05-31
Vue中怎么使用jsencrypt进行RSA非对称加密
后端开发2023-06-29
Java怎么利用MD5实现对密码进行加密处理
后端开发2023-07-05
怎么对Linux系统中的文件进行加密
后端开发2023-06-16
Vue怎么使用MD5对前后端进行加密
后端开发2023-06-29
Android应用中怎么对超大的图片进行加载
后端开发2023-05-31
咦!没有更多了?去看看其它编程学习网 内容吧