de算法的稳定性 De与ga算法区别

DES算法的定义DES被称为数据加密标准,即数据加密标准。它是一种使用密钥加密的分组算法,是IBM在1972年开发的对称密码系统加密算法。其密钥长度为56位,明文按***位分组,分组后的明文组与56位密钥逐位替换或交换,形成密文组。DES算法的历史美国国家标准局于1973年开始研究...

DES算法的定义DES被称为数据加密标准,即数据加密标准。它是一种使用密钥加密的分组算法,是IBM在1972年开发的对称密码系统加密算法。其密钥长度为56位,明文按***位分组,分组后的明文组与56位密钥逐位替换或交换,形成密文组。

DES算法的历史美国国家标准局于1973年开始研究除国防部以外的其他部门计算机系统的数据加密标准,并于1973年5月15日和1974年8月27日向公众发布了两次征求加密算法的公告。加密算法的目的(通常称为DES密码算法要求)主要如下:

☆提供高质量的数据保护,防止未经授权的披露和未被发现的数据修改;

☆复杂度相当高,使得破译的成本超过了可能的收益,同时要易于理解和掌握;

☆DES密码系统的安全性不应取决于算法的保密性,而只取决于加密密钥的保密性;

☆实现经济,有效运行,适合各种完全不同的应用。

1977年1月,美国政府颁布:采用IBM设计的方案作为非机密数据的官方数据加密标准。

DES加密算法的特点是分组短、密钥短、密码生命周期短、运算速度慢。

DES算法原理DES算法有三个入口参数:密钥、数据和模式。

Key为8字节,共***位,是DES算法的工作密钥;

数据也是8字节***位,是要加密或解密的数据;

DES模式以两种方式工作:加密或解密。

为了保证信息在网络上传输的安全性(防止第三方窃取信息,看到明文),发送方和接收方分别进行加密和解密,这样信息在网络上传输时就相对安全。

DES算法的应用目前在国内。随着“三金工程”特别是“金卡工程”的启动,DES算法被广泛应用于POS、ATM、磁卡和智能卡(ic卡)、加油站、高速公路收费站等领域,以实现关键数据的保密,如信用卡持卡人PIN的加密传输、IC卡与POS的双向认证、金融交易数据包的MAC验证等。

Java中DES加密的例子

导入Java . security . securerandom;

导入javax . crypto . spec . deskey spec;

导入javax . crypto . secret key factory;

导入javax . crypto . secret key;

导入javax . crypto . cipher;

/**

* DES加密简介DES是一种对称加密算法。所谓对称加密算法,就是加密和解密使用同一个密钥的算法。DES加密算法来自IBM的研究,

*后来被美国政府正式采用,然后开始广泛传播。但是这几年用的越来越少了,因为DES用的是56位密钥,加上现代的计算能力,

*可在24小时内破解。但是,在一些简单的应用中,我们仍然可以使用DES加密算法。本文简要解释了DES的J***A实现。

*注意:在DES加密和解密过程中,密钥长度必须是8的倍数。

*/

公共类DES

{

公共DES()

{

}

//测试

公共静态void ***in(String args[])

{

//要加密的内容

String = "测试内容";

//密码,长度应该是8的倍数

string password = " 958802882010913257074332531***8426347857298777357887575757775775772185730847878787316947306034***62061***1957412434434434434444306206061957412424434343434343443444430***3434340

byte[]result = des . encrypt(str . getbytes(),password);

System.out.println("加密后:"+新字符串(结果));

//直接解密以上内容。

尝试

{

byte[] decryResult = DES.decrypt(结果,密码);

System.out.println("解密后:"+new String(decryResult));

} catch(例外e1)

{

E1 . printstacktrace();

}

}

/**

*加密

*

* @param数据源

*字节[]

* @param密码

*字符串

* @返回字节[]

*/

公共静态字节[]加密(字节[]数据源,字符串密码)

{

尝试

{

SecureRandom random = new SecureRandom();

desKey spec desKey = new desKey spec(password . getbytes());

//创建一个密钥工厂,然后用它将DESKeySpec转换成

secretkey factory key factory = secretkey factory . getinstance(" DES ");

secret key secure key = key factory . generate secret(desKey);

cipher对象实际完成加密操作。

cipher cipher = cipher . getinstance(" DES ");

//用密钥初始化密码对象

cipher.init(密码。ENCRYPT_MODE,securekey,random);

//现在,获取数据并加密

//正式执行加密操作。

返回cipher . do final(data source);

} catch(可投掷e)

{

e . printstacktrace();

}

返回null

}

/**

*解密

*

* @param src

*字节[]

* @param密码

*字符串

* @返回字节[]

* @抛出异常

*/

公共静态byte[] decrypt(byte[] src,String password)抛出异常

{

// DES算法需要一个可信的随机数源。

SecureRandom random = new SecureRandom();

//创建一个DESKeySpec对象

desKey spec desKey = new desKey spec(password . getbytes());

//创建密钥工厂

secretkey factory key factory = secretkey factory . getinstance(" DES ");

//将DESKeySpec对象转换为SecretKey对象

secret key secure key = key factory . generate secret(desKey);

//密码对象实际完成解密操作。

cipher cipher = cipher . getinstance(" DES ");

//用密钥初始化密码对象

cipher.init(密码。DECRYPT_MODE,securekey,random);

//真的开始解密操作

返回cipher . do final(src);

}

}

————————————————————

SSL证书是HTTP明文协议升级HTTPS加密协议的重要通道,也是网络安全传输的加密通道。有关SSL证书的更多信息,请关注GDCA。GDCA致力于网络信息安全,已通过WebTrust国际认证,是全球可信的证书颁发机构。GDCA专业的技术团队将根据用户的具体情况为用户提供最好的产品。

本文来自是我太自作多情投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/641115.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-19
下一篇 07-19

相关推荐

  • 数据挖掘概念与技术第三版pdf 数据挖掘原理与算法第三版

    前不久我们的推荐算法还不够精准?让知识图谱解决”和“如何将知识图谱特征学习应用于推荐系统”的系列文章受到了同学们的广泛欢迎。大家都很关心推荐系统及其相关的底层数据挖掘技术。为了帮助朋友们更好地学习相关内容,我们邀请了微软亚洲研究院社会计算组研究员张福正为大

    2023-07-28 06:09:01
    984 0
  • 遗传算法matlab程序源代码 遗传算法经典实例

    旅行商问题(TSP),即求解城市路线的最优组合,要求每个城市只走一次,目的地城市与出发城市相同,最终行程要最短。在传统遗传算法的基础上,对其进行了改进和优化,提出了一种带精英保留的协同进化遗传算法。以30、50、75城市为例,对两者进行对比。该算法的运行流程如图1所示

    2023-07-28 06:00:01
    785 0
  • de算法的稳定性 De与ga算法区别

    DES算法的定义DES被称为数据加密标准,即数据加密标准。它是一种使用密钥加密的分组算法,是IBM在1972年开发的对称密码系统加密算法。其密钥长度为56位,明文按***位分组,分组后的明文组与56位密钥逐位替换或交换,形成密文组。DES算法的历史美国国家标准局于1973年开始研究

    2023-07-19 17:52:01
    689 0
  • hash算法有哪几种 hash值的计算方式

    好的哈希算法有什么特点?注意,有许多散列算法,如MD5、SHA-1、SHA-2等。、SHA-256和BTC的RIPEMD-160等。至少有两个特点:1.对于任何两个不同的输入,应该产生不同的输出。(这叫防撞)2.向前计算很容易,而从输出向后输入非常困难。只能靠暴力猜测。(这被称为不可逆性)看第一个

    2023-07-16 00:44:01
    759 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信