首页 > 编程知识 正文

java加密算法(java对称加密算法有哪些)

时间:2023-05-06 18:37:27 阅读:73795 作者:1744

许多加密分组提供了复杂的加密算法,如MD5,这些算法中有些是不可逆的。

有时需要可逆算法。 加密敏感数据并将其放入数据库或配置文件中,然后根据需要进行恢复。

这里介绍一种非常简单的java实现无损加密算法。

算法对使用预定义种子(seed )加密的内容执行异或,然后解密只需再次执行异或即可撤消。

代码如下。

seed可以自由写。

代码:

package cn.exam.sign up.service.pay.util;

import java.math.BigInteger;

import java.util.Arrays;

公共类encr util {

私有静态最终输入radix=16;

privatestaticfinalstringseed=' 0933910847463829232312312 ';

publicstaticfinalstringencrypt {

if (密码==null )

返回' ';

if(password.length ()==0) ) ) )。

返回' ';

bigintegerbi _ passwd=newbiginteger (password.getbytes ();

bigintegerbi _ r0=newbiginteger (seed );

bigintegerbi _ R1=bi _ r0.xor (bi _ passwd );

returnbi_R1.tostring(radix );

}

publicstaticfinalstringdecrypt {

if (加密==null )

返回' ';

if(encrypted.length ()==0) ) ) ) ) )。

返回' ';

bigintegerbi _ confuse=newbiginteger (seed;

try {

bigintegerbi _ R1=newbiginteger (encrypted,RADIX );

bigintegerbi _ r0=bi _ R1.xor (bi _ confuse );

返回新字符串(bi _ r0.to bytearray );

}catch(exceptione ) {

返回' ';

}

}

publicstaticvoidmain (string args [ ] ) {

系统. out.println (arrays.tostring (args ) );

if(args==null||args.length!=2)返回;

if(-e ).equals(args[0] ) ) )

system.out.println (args [1] ' encryptpasswordis ' encrypt (args [1] );

}elseif(-d ).equals (args [0] ) ) ) )。

system.out.println (args [1] ' decryptpasswordis ' decrypt (args [1] );

}else{

系统. out.println (args-e : encrypt );

system.out.println (args-d : decrypt );

}

}

}

运行上述代码:

[-e,1234567890]

1234567890 encryptpasswordis 3132337645276898 a5

[-d,313233376455276898a5]

3132337645276898 a5 decryptpasswordis 1234567890

希望以上是正文的全部内容,对大家的学习有帮助。 另外,我希望你支持很多编剧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。