2010-07-23 54 views
1

我需要一些想法creatin加密程序可以幫助任何人!? 我需要在java或C++中創建程序,所以需要爲它創建一個邏輯 這個加密編程應該自動加密文件n只有在滿足密碼等givien條件時才應該解密它! plz求助!加密程序

+1

你只是做了很好的描述加密是如何工作的,但你需要考慮很多其他因素。它需要有多安全?如果你正在考慮發明你自己的算法,不要。我建議您查看各種加密算法,直到找到符合您需求的算法,然後實施它。 – Gian 2010-07-23 11:06:50

+0

它的一個項目! – varun 2010-07-23 11:07:19

回答

4

我同意fielding。你想要做的功課情況下,我認爲這是確定以使用XOR加密:

的Java代碼示例:

public String xorEnc(int encKey, String toEnc) { 
    /* 
     Usage: str = xorEnc(integer_key,string_to_encrypt); 
     Created by Matthew Shaffer (matt-shaffer.com) 
    */ 
    int t=0; 
    String s1=""; 
    String tog=""; 
    if(encKey>0) { 
     while(t < toEnc.length()) { 
      int a=toEnc.charAt(t); 
      int c=a^encKey; 
      char d=(char)c; 
      tog=tog+d; 
      t++; 
     } 

    } 
    return tog; 
} 
public String xorEncStr(String encKey, String toEnc) { 
    /* 
     Usage: str = xorEnc(string_key,string_to_encrypt); 
     Created by Matthew Shaffer (matt-shaffer.com) 
    */ 
    int t=0; 
    int encKeyI=0; 

    while(t < encKey.length()) { 
     encKeyI+=encKey.charAt(t); 
     t+=1; 
    } 
    return xorEnc(encKeyI,toEnc); 
} 

你可能要開始解密過程只有在正確輸入的密碼,然後你應該以某種方式將解密密碼的散列存儲在加密文件中。 例如您的加密文件可能是這樣的:

[MD5哈希密碼] [加密數據]

然後用你救了,如果他們是相同的開始解密過程的一個比較輸入的密碼哈希。

+0

很高興有人同意我的;) 但我不會給一些「錯誤的密碼」的消息 - 爲什麼你不XOR與PW無論如何?假結果比錯誤消息更難以檢測,但如果知道結果應該如何,則很容易看出結果。 +1代碼示例 – atamanroman 2010-07-23 11:41:45

+0

這裏的問題是在我的學校達到他們認爲XOR加密,所以我認爲我不會被允許這樣做! – varun 2010-07-23 11:44:57

+0

你好,但最終你會面對先進的高級加密中的ROT-13。然後怎樣呢?反轉數據? – atamanroman 2010-07-23 11:50:35

6

如果它的作業,你可以做你的pwd簡單的異或。否則不要DONT亂用安全的東西,DONT發明自己的算法中,並DONT使用烏爾自己實現的一些衆所周知的方法。 DO使用已經證明已經安全的東西。

+0

如果有什麼好用的,那麼有衆所周知的方法來打破它:) – 2013-04-07 18:45:20

+0

@AdamFręśko錯 – atamanroman 2013-04-07 20:24:28

0
,如果你喜歡做的更先進的加密/解密,你可以看看NMS-C/NMS-d(在 dotlike.net/releases.php找到)

它使用libcrypto和解密從客戶端發送的命令(NMS-C

)並執行命令結束將加密輸出發送回客戶端並打印它。

它使用base64編碼/解碼之前正確地傳輸一切。

使用blowfish加密。