aes加密代码java aes加密代码实现

求一款java的AES加密解密的软件源代码(完整)

#include stdio.h

十载的会泽网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整会泽建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“会泽网站设计”,“会泽网站推广”以来,每个客户项目都认真落实执行。

#include stdlib.h

#include fcntl.h

#include unistd.h

#define JIA_SIZE 1024

#define M_S 25

//加密菜单

void menu()

{

puts("(1)加密");

puts("(2)解密");

puts("(3)退出");

}

//加密

void jiami(const char *path/*加密路径*/)

{

int i;

int fp,len;

char buffer[1024];

puts("正在加密... ...");

fp = open(path,O_RDWR); //open以读写方式打开

len=read(fp,buffer,1024);

puts("将要加密的数据");

puts(buffer);

printf("字符一共有: %d\n",len);

puts("准备加密");

for(i=0;ilen;i++)

{

buffer[i] ^= M_S;

}

lseek(fp,0,SEEK_SET);

write(fp,buffer,len);

close(fp); //关闭文件

}

int main(int argc,char *argv[])

{

FILE *fp;

char buffer[JIA_SIZE];

char ch;

if(argc 2){ //如果没有输入路径就错误

puts("请输入正确的参数比如: ./jiami /home/long/bin/123.txt");

return 0;

}

else{//显示加密或者解密路径

printf("你加密或者解密的路径:");

puts(argv[1]);

}

menu(); //显示菜单

switch(ch=getchar())

{

case '1'://加密

jiami(argv[1]);

break;

case '2'://解密

jiami(argv[1]);

break;

case '3'://退出

return 0;

break;

defualt:

puts("请输入正确的菜单参数(1-3)");

}

return 0;

}

为什么没有Java实现的Aes加密算法

需要依赖Java加密扩展的支持才能实现。

用Java实现AES需要依赖Java加密扩展TheJavaCryptographyExtension,简称JCE的支持主要是在javax下面的一些包。根据描述需要使用的算法为AESCBCNoPadding。

Java语言的语法与C语言和C加加语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C加加中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。

JAVA AES加密

使用AES加密时,当密钥大于128时,代码会抛出java.security.InvalidKeyException: Illegal key size or default parameters

Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件。文件位于${java_home}/jre/lib/security

这种限制是因为美国对软件出口的控制。

解决办法:

去掉这种限制需要下载Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files.网址如下。

下载包的readme.txt 有安装说明。就是替换${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_policy.jar

jdk 5:

java如何用Aes加密和解密

你解密的key必须是加密的key啊

你看看,你解密的时候又KeyGenerator.getInstance("AES").generateKey();这是重新搞了一个key啊,当然解不出来了

我估计你这代码人家原先是写在一起的吧,加密完了再直接解密给你看,人家只generateKey一次,自然很顺利,你分成了两个例子,居然分别generateKey,自然失败


标题名称:aes加密代码java aes加密代码实现
文章源于:http://scyanting.com/article/dogjgoi.html