一次一密加密解密算法

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: static int MAX=100; static char[] key=new char[MAX]; //用于保存密钥 static int len; static char[] bitcode(char[] str) //一次一密加密算法 { int i; char[] wen; if((wen=new char[len+1
static int MAX=100;
	static char[] key=new char[MAX];							//用于保存密钥
	static int len;
	static char[] bitcode(char[] str)					//一次一密加密算法
	{
	    int i;
	    char[] wen;

	    if((wen=new char[len+1])==null)
	    {
	        System.out.printf("申请内存失败!\n");
	        System.exit(1);
	    }
	    for(i=0;i<len;i++)
	    {
			wen[i]=(char)(str[i]^key[i]);				//异或运算
	    }
	    wen[len]='\0';
	    return wen;
	}

	public static void main(String[] args) throws IOException {
		int i;
		char[] srcstr=new char[MAX];
	    char[] miwen,mingwen;
		String go;
		Scanner input=new Scanner(System.in);
//		srand(time(NULL));					//随机种子
		System.out.printf("一次一密加密解密算法演示!\n");
		
		do{
		System.out.printf("请输入明文字符串:");

		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        String str=bufferedReader.readLine();
   
       srcstr=str.toCharArray();
							//明文信息
       Random r=new Random(); 			        //随机种子
		len=srcstr.length;
		for(i=0;i<len;i++)
		{
			key[i]=(char)(r.nextInt(10)+'0');			//产生密钥序列
		}
		System.out.printf("此次加密解密演示的密钥序列为:");
		for(i=0;i<len;i++)
		{
			System.out.printf("%c",key[i]);
		}
//		System.out.printf("\n");
	    miwen=bitcode(srcstr);				//加密
	    System.out.printf("\n输入的明文为:");
	    for(i=0;i<srcstr.length;i++)
	    	System.out.print(srcstr[i]);
	    System.out.printf("\n加密后的密文为:");
	    for(i=0;i<miwen.length;i++)
	    	System.out.print(miwen[i]);
	    mingwen=bitcode(miwen);				//解密
	    System.out.printf("\n解密出的明文为:");
	    for(i=0;i<mingwen.length;i++)
	    	System.out.print(mingwen[i]);
	    
	    System.out.print("\n\n继续执行(y/n)?");
	    
		go=input.next();
		}while(go.equalsIgnoreCase("y"));
		System.out.println("演示结束!");


	}

目录
相关文章
|
4月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
157 1
|
4月前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
84 2
|
4月前
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
308 1
|
4月前
|
算法 JavaScript 前端开发
消息摘要算法:MD5加密
消息摘要算法:MD5加密
62 1
|
5月前
|
存储 算法 安全
网络安全中的加密技术与解密算法:保障数据安全的基石
【7月更文挑战第1天】网络安全依赖加密技术与解密算法确保数据安全。本文探讨加密原理、对称与非对称加密(如AES、DES、RSA、ECC)及它们在数据传输、存储安全和身份验证中的应用。加密是数据保密的核心,面对不断升级的网络威胁,加密技术将持续进化以适应新挑战。
|
5月前
|
算法 C# 数据安全/隐私保护
|
5月前
|
算法 安全 Java
Java中MD5加密算法的原理与实现详解
Java中MD5加密算法的原理与实现详解
|
5月前
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
|
5月前
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
5月前
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现