OpenSSL support a lot of systems, but that is not support XBox One, because XBox One only C++ compiler so there is no way to support?
Separate from OpenSSL some of the algorithms seem very troublesome, if I want to use XBox One above encryption algorithm should be how to do?
The title is self explanatory.
A decision was made early on not to re-invent crypto in managed classes, it caused lots of problems for FIPS and frankly why re-invent the wheel?
So we use the OS facilities for crypto - we call into CNG on Windows, and then, because OpenSSL is basically the standard on Linux we use that. It also means when there are crypto bugs you don't have to wait for .NET Core to get updated, you just update the OS.
I have been trying for a while to do some basic cryptography on my Mac OS X Mavericks. I would need MD5, SHA256, AES and possibly also RSA.
I need to develop in C++ but I only need a terminal application with Xcode. I DON'T need to do anything on iPhone. I have a very basic configuration and I am not an expert. I tried crypto++ and OpenSSL, both gave me immense lists of errors at build time.
Thanks!
Apple supplies several encryption Technologies Specific to OS X: General information.
CommonCrypto, a C-level API that can perform most symmetric encryption and decryption tasks
CDSA/CSSM—a legacy API that should be used only to perform tasks not supported by the other APIs, such as asymmetric encryption.
Security Transforms API—a Core-Foundation-level API that provides support for signing and verifying, symmetric cryptography, and Base64 encoding and decoding.
There is also OpenSSL, it is useful for many command line operations but is no longer provided by Apple mainly due to the incompatibilities between versions.
CommonCrypto is supported by both OSX and iOS, this is what I generally use. Security Transforms are OSX only and the newer technology. There are many examples of CommonCrypto usage on SO as well as libraries in GitHUb.
My suggestion is CommonCrypto, it is a "C" library so there should be no problem using it from C++.
Basically I'd like to install opencv so that it makes use of tbb and boost with the complete source code. However I think I will need to know how to display all the available install options for a port. (Install options I mean "+sth" after a port name, is that how you call it?)
In my concrete example, my line starts like
sudo port install opencv +tbb +python27
but I am not sure how to get the dev and the boost options...
Any ideas how to display options? Or specifically for opencv?
Thanks!
In addition to the answer provided by Barnabas Szabolcs, I have also found the info command is helpful for finding more information about a port, including the available variants, but also provides other interesting bits of information, such as the software license, maintainers, etc.
port info opencv
The above command results in the following output (as of the current portfile):
opencv #3.0.0_1 (graphics, science)
Variants: contrib, dc1394, debug, eigen, java, opencl, openni,
python27, python34, qt4, qt5, tbb, universal, vtk
Description: OpenCV is a library that is mainly aimed at real time
computer vision. Some example areas would be
Human-Computer Interaction (HCI), Object Identification,
Segmentation and Recognition, Face Recognition, Gesture
Recognition, Motion Tracking, Ego Motion, Motion
Understanding, Structure From Motion (SFM), and Mobile
Robotics.
Homepage: http://opencv.org
Extract Dependencies: unzip
Build Dependencies: cmake, pkgconfig
Library Dependencies: zlib, bzip2, libpng, jpeg, jasper, tiff, ilmbase, openexr,
ffmpeg
Platforms: darwin
License: BSD
Maintainers: stromnov#macports.org, openmaintainer#macports.org
Sorry, I have found it:
Port install options are called not options but variants. And the command is:
port variants opencv
in my case.
For those who care -- although in the code of opencv I have fond USING_BOOST flags -- there is no extra variant for boost support (perhaps it is automatic?).
My complete install line is
sudo port install opencv +debug +python27 +qt4 +tbb
I'm trying to find a good library to deal with large number of concurrent connections and I came across Libevent and Libev. But neither of them has built-in ssl/https support. I'm wondering if I'm missing something here on how these libraries should be used because ssl/https is so commonly used yet it's not in these two popular tools.
I believe libevent2 has support for SSL.
http://levent.git.sourceforge.net/git/gitweb.cgi?p=levent/levent;a=blob;f=ChangeLog;hb=fe008ed656766266b93cdf2083f5b8bc50e6aad3