隨筆 - 117  文章 - 72  trackbacks - 0

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

          常用鏈接

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

          訂閱

          訂閱

          留言簿(7)

          隨筆分類(130)

          隨筆檔案(123)

          搜索

          •  

          積分與排名

          • 積分 - 155784
          • 排名 - 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 天堂露珠 閱讀(1032) 評論(0)  編輯  收藏 所屬分類: C++
          主站蜘蛛池模板: 手游| 莒南县| 辽阳县| 潮安县| 丰顺县| 乌审旗| 永德县| 绥滨县| 潍坊市| 鸡东县| 铜鼓县| 凤冈县| 洛扎县| 双桥区| 陵川县| 博野县| 乌审旗| 丰城市| 玉环县| 吉林省| 林口县| 安平县| 马龙县| 微山县| 响水县| 德江县| 孟州市| 澜沧| 宜昌市| 竹北市| 威海市| 西吉县| 巴彦县| 东方市| 隆尧县| 玉田县| 旌德县| 田东县| 安顺市| 平南县| 静宁县|