隨筆 - 117  文章 - 72  trackbacks - 0

          聲明:原創作品(標有[原]字樣)轉載時請注明出處,謝謝。

          常用鏈接

          常用設置
          常用軟件
          常用命令
           

          訂閱

          訂閱

          留言簿(7)

          隨筆分類(130)

          隨筆檔案(123)

          搜索

          •  

          積分與排名

          • 積分 - 156400
          • 排名 - 390

          最新評論

          [標題]:使用"異或"簡單加密的實現
          [時間]:2009-4-19
          [摘要]:需要使用加密算法加密密碼,但是面對DES等算法,實現起來還是有難度的。并且自己的應用也不需要很強的加密算法,只要不直接使用明文就可以了。所以,實現了用"異或"簡單加密密碼。加密解密都是使用同一算法。要提醒的是,這種加密并不可靠,而且極易被破解。
          [關鍵字]:異或,加密,解密,DES,密碼,簡單,算法
          [環境]:VC6
          [作者]:Winty (wintys@gmail.com)

          [正文]:
          加密原理:
          a^b => c , c^b => a
          一次"異或"之后,明文變成密文。
          兩次"異或"之后,密文被解密成明文。

          那么,a就是需要加密的明文,b就是密鑰,c就是密文。
          void CTestDlg::OnBtnEncrypt()
          {
              CString strText = "password";
              CString strSecret;//密文
              CString strPlain;//解密后的明文

              strSecret = Encrypt(strText);
              AfxMessageBox(strSecret);

              strPlain = Encrypt(strSecret);
              AfxMessageBox(strPlain);
             
              //解密是否正確
              if(strText.Compare(strPlain) == 0)
                  AfxMessageBox("OK");
          }

          CString CTestDlg::Encrypt(const CString &strText)
          {
              CString strContent(strText);
              CString strKey = "It's kind of you to visit me!!";//Length:30chars
             
              TCHAR t;
              TCHAR k;
              //加密內容最大長度為30,多于30字符的不加密
              for(int i = 0 ; i < strContent.GetLength() && i < strKey.GetLength(); i++){
                  t = strContent.GetAt(i);
                  k = strKey.GetAt(i);
                  t ^= k;//與Key異或加密
                  strContent.SetAt(i , t);
              }
             
              return strContent;
          }
          posted on 2009-04-19 19:30 天堂露珠 閱讀(1036) 評論(0)  編輯  收藏 所屬分類: C++
          主站蜘蛛池模板: 潜山县| 奉化市| 宣恩县| 沭阳县| 额尔古纳市| 新密市| 恩平市| 常熟市| 新邵县| 元氏县| 丽水市| 綦江县| 宝清县| 抚州市| 垦利县| 湄潭县| 罗江县| 平昌县| 金塔县| 平顺县| 宝应县| 青阳县| 富阳市| 双城市| 延吉市| 武义县| 辽中县| 娄烦县| 霍州市| 原平市| 陇南市| 措勤县| 万载县| 赫章县| 满城县| 凤台县| 巴南区| 滦南县| 迁安市| 五原县| 长治市|