2017-05-18 14 views
0

CommonCrypto로 DES 암호화 된 문자열을 해독하고 주어진 암호에서 키를 생성해야합니다. Swift에서 DES 키를 생성하는 방법 3

나는 애플의 API 참조에 다음 함수 발견 SecKeyGenerateSymmetric

을하지만 내 신속한 파일에 보안을 가져올 때 프레임 워크의 다른 기능 (예 : SecKeyGeneratePair.) 사용할 수 있지만이 기능을 사용할 수 없습니다.

이 기능이 다른 기능으로 대체 되었습니까?

또는 Swift 3에서 DES 키를 생성하는 다른 방법이 있습니까?

#import <CommonCrypto/CommonCrypto.h> 

이 프로젝트에 Security.framework를 추가 스위프트와 공통 암호화를 사용하려면

+0

참고 : 새 코드에서 DES를 사용하지 마십시오. 안전하지 않으며 AES로 대체되었습니다. 기존 코드의 경우 이전 버전과의 호환성이 필요하면 버전 표시기를 사용하고 호환성을 위해 AES와 DES를 모두 지원하는 것이 좋을 경우 AES로 변경하는 것이 가장 좋습니다. – zaph

답변

1

브리지 헤더를 추가 할 필요가있다.

참고

비밀 (키 유도)로부터 키를 생성하는 방법과 동일한 방법 및 네드 파라미터가 사용된다. 이러한 여러 가지 방법이 일반적으로 사용되며 PBKDF2는 NIST에서 자주 사용하거나 제안하는 방법입니다. 키 유도에 사용되는 방법과 매개 변수를 알고 있습니까?

+0

답변 해 주셔서 감사합니다. 이미 CommonCrypto를 BridgingHeader로 가져 왔습니다. 그러나 방금 DES 암호 해독을위한 키를 생성하는 것이 불필요한 것으로 밝혀졌습니다. 간단히 8 바이트 문자열을 사용하여 UTF8 인코딩으로 데이터로 변환 할 수 있습니다. 이제 오류없이 CCCrypt 함수를 호출 할 수 있지만 결과는 여전히 비어 있습니다 ... 곧 내 질문을 업데이트 할 것입니다! – ndreisg

+0

이 문제에 대한 새로운 질문을 올렸습니다. 아마이 문제를 도와 줄 수 있습니까? [Swift 3에서 CommonCrypto로 DES 암호 해독] (영문) (http://stackoverflow.com/questions/44044816/decrypting-des-with-commoncrypto-in-swift-3) – ndreisg

+0

보안 키는 일반적으로 임의의 문자 배열이며 Common Crypto'SecRandomCopyBytes'를 사용하여 가장 잘 만들어집니다. – zaph