Mr.Victor

梦里不知身是客,一晌贪欢!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

凯撒加密/解密算法(VC)

Posted on 2011-08-20 17:48  Mr-Victor  阅读(1225)  评论(0编辑  收藏  举报

/***********加密CString并写入文件(加法加密)************/
CFile fileWrite;
CString m_strEncryption = _T("需要加密的信息");
int count = m_strEncryption.GetLength();
BYTE* m_byteRead = new BYTE[count];
BYTE* m_byteWrite = new BYTE[count*2];
m_byteRead = (BYTE*)m_strEncryption.GetBuffer(count);
for (int i = 0, k = 0, j = 1; i < count; i++, k = k + 2, j = j + 2)
{
  m_byteWrite[k] = (byte)((m_byteRead[i] + 参数(密钥)) % 128 + 128);
  m_byteWrite[j] = (byte)((m_byteRead[i] + 参数(密钥)) / 128);
}

if(fileWrite.Open(输出路径, CFile::modeCreate | CFile::modeWrite))
{
  fileWrite.Write(m_byteWrite,count*2);
  fileWrite.Write("\r\n",2);
}
fileWrite.Close();

m_strEncryption.ReleaseBuffer();
delete[] m_byteWrite;

PS:解密及其他方式的加密解密可见《凯撒加密/解密算法(C#)》,将其稍作修改就可适用于VC。