после прочтения meta Я считаю, что это лучшее место для этого вопроса (я не был уверен, что он принадлежит здесь, поскольку речь идет не о конкретном коде). Вопрос: Является ли язык программирования Apple Swift подходящим для криптографического интенсивного проекта iOS/MAC OS X? Почему этот вопрос касается меня, так это то, что swift совместим с объективом C, но я не уверен, насколько он совместим с C++-библиотеками? Я думаю об использовании библиотеки C++ для криптографической части приложения (например: Crypto ++). Кто-нибудь интегрировал такую библиотеку в быстрое приложение? Возможно ли это, или наилучшим вариантом будет сделать обертку Objective-C++ для библиотеки и использовать ее с Objective-C?C++ crypto library use in Apple Swift
ответ
В настоящее время Swift не имеет возможности напрямую взаимодействовать с C++. Вам нужно было бы обернуть все в интерфейсах ObjC с реализациями ObjC++. Если вы собираетесь работать с Crypto ++ (это нормально, если вам нужны алгоритмы, недоступные в CommonCrypto), то лично я бы написал все низкоуровневые материалы в чистом C++ и просто выполнил работу пользовательского интерфейса в Swift, используя небольшую Уровень интерфейса ObjC++ для чтения результатов.
Я всегда рекомендую минимизировать след ObjC++, поэтому, даже если вы написали это в ObjC, а не в Swift, моя рекомендация будет такой же. Напишите код UI в чистом ObjC и движке на C++ и поставьте тонкий слой ObjC++ между ними.
(Обратите внимание, что у меня есть сильный уклон против ObjC++, потому что я был сожжен с его паршивой поддержкой инструмента, и производительность сильно влияет на него. Каждый выпуск clang сделал ObjC++ немного лучше, и возможно, когда-нибудь мой смещение не будет точным, и ObjC++ будет прекрасным языком для работы. Но я не думаю, что этот день сегодня, и я думаю, что Swift ++ появится до того, как это все равно.)
- 1. Crypto library for C++
- 2. Ошибка Common Crypto Library
- 3. Mamaral inboarding library in Swift
- 4. openssl crypto library - base64 conversion
- 5. ostream use in C++
- 6. use extern in C
- 7. fprintf use in C
- 8. common crypto in swift 2.3 и Xcode8.1
- 9. Class Library in C#
- 10. OpenACC use math.h library
- 11. android use pcap library
- 12. Android ffmpeg library use
- 13. angular2 use jwt_decode library
- 14. crypto library for Xen hypervisor
- 15. use exec in c program
- 16. Typedef struct use in c
- 17. use diskpart in c program
- 18. PagingMenuController swift library in obj-c ошибка проекта
- 19. crypto library не найден в MinGW
- 20. Arrays in c shared library
- 21. Использование C# library in f #
- 22. boost library in microsoft C++
- 23. clojure retry library perseverance use
- 24. Web scraping in apple swift 3
- 25. Crypto provider in JDK
- 26. make arm architecture c library in mac
- 27. UnsafePointer use swift 2.0 to swift 3.0
- 28. WMP library in C# - плейлист из списка
- 29. codeigniter library in library issue
- 30. libxml2 use in android
Проще всего было бы использовать библиотека C, поскольку Objective-C является надмножеством C. Это говорит о том, что они предоставляют [свой набор криптографических библиотек и сервисов] (https://developer.apple.com/library/mac/documentation/security/Conceptual/cryptoservices /Introduction/Introduction.html#//apple_ref/doc/uid/TP40011172-CH1-SW1), и вам, вероятно, следует сначала изучить их. –
Проблема в том, что я не хочу, чтобы криптография по умолчанию, предоставляемая apple. На самом деле 99% того, что нужно, только в Crypto-библиотеках C++. (Такие вещи, как Змея и Блейк2, NTRU). В большинстве библиотек C также нет тысяч алгоритмов. – user1028028
Вы можете написать обертку в C для этого, затем обертку в Swift для этой C-оболочки. Это должно сработать. – Marcin