回答
這是我用於encryptiong的函數。
DES_cfb64_encrypt((無符號字符*)pchInputData,(無符號字符*)pchOutCipher, 大小,&時間表,& ParityKey,&沒有,DES_ENCRYPT);
我必須將其轉換爲base64,以便我可以將它存儲在一個文件中。
pstrResult = Base64encoding(size,(unsigned char *)pchOutCipher);
您可以使用GPGME
如果你只需要支持10.5或更高版本可以使用CommonCryptor API。這個主題的第一個評論給出了一個例子類別加密/解密的NSData的:
http://iphonedevelopment.blogspot.com/2009/02/strong-encryption-for-cocoa-cocoa-touch.html
雖然不是一個API調用,你可以實現一個簡單的XOR加密。這是快速和簡單的實施,並根據您的字符串的特點(即如果它是固定的長度)可以非常安全。如果你有一個可變長度的字符串XOR加密可能不夠安全,這取決於你的需求。看看Wikipedia article。
異或密碼從不*安全。這是一種容易和輕微顛倒的混淆。 – dreamlax 2010-01-06 20:24:43
也許我錯了,但我的印象是,使用與要加密的數據長度相等的唯一密鑰在理論上是不可破解的,實際上是一次性密碼。使用簡短的重複鍵實際上被顛倒過來。 – mikecsh 2010-01-06 21:50:53
所有你需要做的破解XOR密碼的方法是反彙編這個二進制文件,尋找一個與密碼長度相同或者超過任何固定長度數據的循環。然後,你不僅有密碼,還有密碼。這可以通過多種技術來完成,包括使用分析工具來測量內存中的相同區域中XOR CPU指令的使用情況,以便加載磁盤上的數據。無論密碼是對還是錯,無關緊要,最終都會得到密碼,一旦擁有密碼,就可以恢復明文。 – dreamlax 2010-01-07 02:38:22
如果您先存儲密碼,請決定是否需要重新使用密碼或是否需要檢查用戶是否輸入了正確的密碼。
如果您只需驗證用戶是否輸入了正確的密碼,然後使用散列存儲密碼,並將用戶輸入的散列與您存儲的散列進行比較。如果兩個哈希值相等,那麼用戶有[可能]正確輸入它。有關散列的更多信息,請參見Wikipedia。
如果您需要重新使用密碼(即用於與其他服務進行身份驗證(例如連接到Internet服務),請使用Apple's Keychain service。如果您的目標是iPhone,請查看this相關文檔。
- 1. 使用Jasypt加密和解密密碼
- 2. 使用php加密和解密密碼
- 3. 加密和解密密碼
- 4. 使用TripleDES加密解密密碼
- 5. 使用Spring的密碼加密/解密
- 6. 使用node.js加密/解密密碼
- 7. 加密和解密密碼的WebSphere
- 8. 在iOS中加密和解密密碼
- 9. 試圖加密和解密vigenere密碼
- 10. Yii的加密和解密密碼
- 11. PHP - 解密加密密碼
- 12. 密碼加密/解密
- 13. Swift - 使用用戶密碼加密和解密字符串
- 14. 使用簡單的替換密碼進行加密和解密
- 15. 使用md5.js和PHP解密的客戶端密碼加密
- 16. 加密和解密
- 17. 加密和解密
- 18. 加密和解密
- 19. 加密和解密
- 20. 使用iOS和PHP加密和解密
- 21. 使用password_hash和SHA256加密和解密
- 22. 用密鑰加密和解密數據
- 23. 用Jasypt和隨機鹽密碼加密和解密
- 24. 加密/解密使用EVP_ *
- 25. 加密解密使用jasypt
- 26. 加密,使用Rails解密
- 27. 使用Carrierwave加密/解密
- 28. 使用AES加密/解密
- 29. 不使用密碼實例或密鑰進行加密和解密
- 30. C++加密和解密源代碼
也許你應該指定你的目標平臺是什麼。你在iPhone上做這個嗎?在Mac OS X上? *咳嗽* GNUstep? – dreamlax 2010-01-07 02:48:26