用Java实现一个简单的单秘钥加密解密算法

本文介绍了一种基于异或运算的单秘钥加密解密方法,并提供了具体的Java实现代码。该方法通过简单的数学公式实现加密过程,只有拥有正确秘钥的接收者才能解密。

            近来无聊,就自己简单的学着写个简单的单秘钥加密解密程序。

           这个单秘钥加解密的实现思路非常简单,是使用二进制的异或运算来实现的:0^0=0,0^0=0;0^1=1,1^1=0;1^0=1,1^0=1;1^1=0,0^1=1;其中第一个为明文text,第二个为秘钥key。即数学公式为密文ciphertext=text^key,解密时,当接受者接到密文时,假设已知秘钥key,则可以解出明文text=ciphertext^key。若非接受者,则不知道秘钥key,则解不出来,或者解出来的是乱码。程序如下:

解不出密文:


秘钥不正确,运行的结果为:


秘钥正确时,运行结果为:



直接输出乱码结果的程序:


秘钥正确的运行结果:


          在本程序中,我们封装了加密算法,这样做的目的是为了隐藏我们的加密算法。

加密算法的实现如下:

package singleencode;


public class cryptographicAlgorithm {
     public static int cryptogaphicAlgorithm(int text,int key){
    return text^key;
     }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值