DES加解密

简介: DES加解密
@Test
public void test() throws Exception {
       String data = "lala";
        String key = "helloworld";
       String result = SystemUtil.encryptDES(data, key);
       Assert.assertEquals(SystemUtil.decryptDES(result, key), data);
       System.out.println(result);
  }
/**
     * DES
     *  加密
     * @param data
     * @param key
     * @return
     * @throws Exception
     */
    public static byte[] encryptDES(byte[] data, byte[] key) throws Exception {
       SecureRandom sr = new SecureRandom();
       DESKeySpec dks = new DESKeySpec(key);
       SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(SystemUtil.KEY_ALGORITHM_DES);
       SecretKey securekey = keyFactory.generateSecret(dks);
      Cipher cipher = Cipher.getInstance(SystemUtil.KEY_ALGORITHM_DES);
       cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
       return cipher.doFinal(data);
    }
/**
     * DES
     *解密
     * @param data
     * @param key
     * @return
     * @throws Exception
     */
    public static byte[] decryptDES(byte[] data, byte[] key) throws Exception {
       SecureRandom sr = new SecureRandom();
       DESKeySpec dks = new DESKeySpec(key);
       SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(SystemUtil.KEY_ALGORITHM_DES);
       SecretKey securekey = keyFactory.generateSecret(dks);
       Cipher cipher = Cipher.getInstance(SystemUtil.KEY_ALGORITHM_DES);
       cipher.init(Cipher.DECRYPT_MODE, securekey, sr);
       return cipher.doFinal(data);
    }
————————————————
版权声明:本文为CSDN博主「仅此而已丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_32343577/article/details/81632451
相关文章
|
Shell Android开发
Android系统 init.rc文件详解
Android系统 init.rc文件详解
1840 0
|
7月前
|
PHP
WordPress微信公众号同步助手插件
该内容介绍了网站与微信公众号之间的文章同步功能,支持自动和手动两种方式。功能包括设置作者、封面、评论等,可将多篇文章合并同步或批量操作。特别提示:需确保微信公众号已认证以使用群发接口,且注意接口限制和资源文件格式要求。同时说明了从公众号同步至网站的限制及注意事项,如无法同步已群发文章等。更新记录显示新增了封面图片获取顺序设置。
581 0
|
Web App开发 前端开发 JavaScript
手摸手教你,从0到1开发一个Chrome浏览器插件
开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
847 8
|
11月前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
422 3
|
存储 数据库 开发者
Web2py的神秘力量:如何用Python打造快速原型设计与开发,让你的项目一鸣惊人?
【8月更文挑战第31天】在现代软件开发中,快速原型设计至关重要。Web2py作为一款Python Web框架,凭借其简洁的语法和高效开发流程受到开发者青睐。本文通过在线调查问卷系统的案例,展示Web2py在快速原型设计中的应用,包括需求分析、数据库设计、表单创建及路由实现,并提供示例代码,帮助读者理解其最佳实践。
139 1
|
Android开发
Android监听USB设备插拔
Android监听USB设备插拔
1389 7
|
Android开发
Android12 ethernet和wifi共存
Android12 ethernet和wifi共存
762 0
|
Web App开发 人工智能 JavaScript
用 Javascript 代码构建语音助手
用 Javascript 代码构建语音助手
299 2
|
消息中间件 Shell
mq报错abbit@syld36: * connected to epmd (port 4369) on syld36 * epmd reports node ‘rabbit‘ uses po
mq报错abbit@syld36: * connected to epmd (port 4369) on syld36 * epmd reports node ‘rabbit‘ uses po
341 0