des算法代码c语言
这么久没人答,我都弄懂了。祖冲之算法分3个算法ZUC是祖冲之算法的核心,仅产生密键流KS。供EEA3和EIA3调用。EEA3是加密算法,用KS捆绑上用户的密钥蚂毕雀,加密用户数据D,变成密文。相当于国际上的RSA、DES、AES算法。作用是对称的加密解密算法EIA3是数据完整性算法,MAC的一种。捆绑上用数答户的密钥,结合KS,生成散列值。相当于国际上的HMAC结合MD5,SHA1的用法。用于密码授权值的闷早生成和保存。
② 求一个用c语言写的DES加密算法~~
using system;
using system.security.cryptography;
using system.io;
using system.text;
public class encryptstringdes {
public static void main(string);
return;
}
// 使用utf8函数加密输入参数
utf8encoding utf8encoding = new utf8encoding();
byte.tochararray());
// 方式一:调用默认的des实现方法des_csp.
des des = des.create();
// 方式二:直接使用des_csp()实现des的实体
//des_csp des = new des_csp();
// 初始化des加密的密钥和一个随机的、8比特的初始化向量(iv)
byte iv = {0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef};
des.key = key;
des.iv = iv;
// 建立加密流
symmetricstreamencryptor sse = des.createencryptor();
// 使用cryptomemorystream方法获取加密过程的输出
cryptomemorystream cms = new cryptomemorystream();
// 将symmetricstreamencryptor流中的加密数据输出到cryptomemorystream中
sse.setsink(cms);
// 加密完毕,将结果输出到控制台
sse.write(inputbytearray);
sse.closestream();
// 获取加密数据
byte);
}
console.writeline();
//上面演示了如何进行加密,下面演示如何进行解密
symmetricstreamdecryptor ssd = des.createdecryptor();
cms = new cryptomemorystream();
ssd.setsink(cms);
ssd.write(encrypteddata);
ssd.closestream();
byte decryptedchararray = utf8encoding.getchars(decrypteddata);
console.writeline("解密后数据:");
console.write(decryptedchararray);
console.writeline();
}
}
编译:
d:\csharp>csc des_demo.cs
microsoft (r) c# compiler version 7.00.8905
right (c) microsoft corp 2000. all rights reserved.
运行实例:
d:\csharp>des_demo.exe 使用c#编写des加密程序的framework
加密结果:
3d 22 64 c6 57 d1 c4 c3 cf 77 ce 2f d0 e1 78 2a 4d ed 7a a8 83 f9 0e 14 e1 ba 38
7b 06 41 8d b5 e9 3f 00 0d c3 28 d1 f9 6d 17 4b 6e a7 41 68 40
③ C语言char des[],*p=des中这个*p是什么意思在程序中又如何表示des[1]呢
p指向的地址就是des的地址,des[1]=*(p+1)
④ c语言,怎么知道某一个数据在txt的第几个字节
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
unsigned long file_size;
char *text_buf;
FILE *fp;
fp = fopen("aa.txt","r");//这里把aa.txt改成你要打开的文件名字
fseek(fp,0,SEEK_END);
file_size = ftell(fp);
rewind(fp);
text_buf = (char *)malloc(file_size+1);
memset(text_buf,'
