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("演示结束!");
}
分享到:
相关推荐
DES加密解密算法的C语言实现 DES(Data Encryption Standard)是一种对称密钥 BLOCK 加密算法,使用 56 位密钥对 64 位数据块进行加密。下面是 DES 加密解密算法的 C 语言实现的知识点总结。 字节与二进制转换 在...
RSA加密解密算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1978年发明。RSA算法基于大数分解难题的原理,使用公钥加密、私钥解密的方式实现信息的加密和解密。 知识点2:Java中RSA加密...
300多种加密解密算法(C++)源代码 300多种加密解密算法(C++)源代码
综上所述,VB6的这个加密解密程序是一个实用的工具,结合了DES和AES这两种强大的加密算法,支持用户自定义密钥,且具备文件级别的加密解密功能。它不仅提供了基本的数据安全措施,而且在VB6环境中易于理解和使用,...
经典代码(带详解) 函数authcode($string, $operation, $key, ...第六种 函数encrypt($string,$operation,$key)中$string:需要加密解密的字符串;$operation:判断是加密还是解密,E表示加密,D表示解密;$key:密匙。
"ES加密/解密算法"可能是描述错误,通常指的是AES算法在Elasticsearch(ES)中的应用,因为标签提到了"Elasticsearch",而且在安全领域,Elasticsearch也会用到加密技术来保护数据。 **AES加密算法详解** AES是...
MD5 单向加密 SHA1 单向加密 DES 双向,可解密 加密字符串 ...RSA加密解密及RSA签名和验证 RSA 的密钥产生 产生私钥 和公钥 RSA 方式加密 RSA的解密函数 获取Hash描述表 RSA签名 RSA 签名验证
在本项目中,"用C语言实现的AES加密解密算法"是针对AES算法的一种C语言实现,这允许开发者在不依赖特定库的情况下,在C环境中进行数据的加密和解密操作。 首先,我们需要理解AES的工作原理。AES的核心是基于替换和...
本文将深入探讨如何使用C语言实现加密解密算法,并基于提供的文件信息进行讲解。 首先,C语言是一种底层编程语言,它允许直接操作内存,因此非常适合实现复杂的数学运算,如加密算法。常见的加密算法有对称加密(如...
总的来说,这个.NET加密解密算法demo是一个实用的学习资源,它涵盖了加密解密的基本概念和.NET框架中的实现方式。通过分析和运行这个示例,开发者能够掌握如何在实际项目中应用加密技术,保护用户的隐私和数据安全。...
本文将围绕“易飞用户加密解密”这一主题,深入探讨其原理、应用及操作流程,帮助读者更好地理解和运用这一技术。 一、加密与解密基础 1. 加密:加密是将明文信息转化为密文的过程,通过特定的加密算法,使得原始...
DES(Data Encryption ...总的来说,C++实现的DES加密解密算法是一个很好的学习项目,不仅涵盖了密码学的基础知识,还涉及到C++编程实践。对于想要深入理解信息安全和对称加密的初学者来说,这是一个非常有价值的练习。
java实现MD5加密解密算法,java源代码~
RSA加密解密算法是密码学中一种常用的加密算法,以 Ron Rivest、Adi Shamir 和 Leonard Adleman 三人命名。该算法基于大数分解问题的困难性,使用公钥加密和私钥解密的方式来保护数据的安全。 该算法的基本原理是:...
### C# 实现 AES 加密解密算法 #### 概述 在计算机科学与信息安全领域,数据加密技术是一项至关重要的技术。AES(Advanced Encryption Standard,高级加密标准)是一种广泛使用的对称加密算法,用于保护敏感数据的...
本文将深入探讨如何使用MFC(Microsoft Foundation Classes)库实现DES(Data Encryption Standard)加密解密算法,以及如何支持文件的打开和保存操作。 DES是一种对称加密算法,由IBM在1970年代开发,并在1977年被...
在这个"很强的Java加密解密算法源码.zip"中,我们可以深入学习如何在Java中实现3DES算法来加密和解密文件。 3DES算法是一种块加密算法,它通过三次应用DES密钥来增强安全性。基本流程如下: 1. **加密过程**:输入...
RC4加密解密算法是Symmetric-key block cipher的一种,使用同一个密钥进行加密和解密。java实现的RC4加密解密算法可以通过以下步骤实现: 1. 初始化数组:创建一个大小为256的整数数组,用于存储RC4算法的S-box。 2...
流加密/解密算法在信息技术领域中扮演着重要的角色,特别是在数据传输和存储的安全性方面。Java作为一种广泛使用的编程语言,提供了丰富的库和工具来实现这些算法。在本篇文章中,我们将深入探讨基于Java的流加密和...
头文件EDFrc4.h则定义了与外部程序交互的接口,使得其他程序可以通过声明的函数接口调用加密解密功能。 在实际应用中,使用这些加密库之前,需要仔细评估所涉及的安全需求和潜在风险。虽然RC4算法已不再推荐用于...