请问下面的是什么加密算法,是AES,DES,SHA?

来源:百度知道 编辑:UC知道 时间:2024/06/04 05:35:41
//加密文件算法涵数
BOOL CEDstarDlg::EncryptFile(CString filename,char *password)
{
SetFileAttributes(filename,FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL);
CFile m_file;
if(m_file.Open(filename,CFile::modeReadWrite|CFile::typeBinary))
{
char m_buffer[3001];
m_file.Read(m_buffer,3000);
//判断文件头八个字符是否为指定字符,
//是的话,则是加密过的,不用再加密了。
if(strncmp(m_buffer,"加密之星",8)==0)
{
m_file.Close();
return false;
}

//取头3000字节按位于密码相与,
//并将其存于文件的未尾处。
int m_len=strlen(password);
for(int i=0;i<3000;i++)
m_buffer[i]^=password[i%m_len];
m_len=m_file.GetLength();
m_file.SeekToEnd();
m_file.Write(m_buffer,3000);

//在加密后的文件开头处设置一特征字符串,
//并将其它一些重要特征字符于一固定字符
//串PW相与后,再将其存入文件开头处。
memset(m_buffer,0,3001);
strcpy(m_buffer,"加密之星");
int *data=(int *)&m_buffer[8];
data[0]=m_len;
d

3DES加密算法.

3DES加密过程为:C=Ek3(Dk2(Ek1(P)))

3DES解密过程为:P=Dk1((EK2(Dk3(C)))

具体的加/解密过程如图2所示。K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3。在这种情况下,密钥的有效长度为112位。

这个是基于SOC的FPSLIC硬件实现分组加密算法.