桁あふれしそうな数の計算をする。
■OpenSSLをiOS用にビルド
git clone https://github.com/x2on/OpenSSL-for-iPhone.git cd OpenSSL-for-iPhone/ ./build-libssl.sh
ビルドされたライブラリとヘッダーファイルをプロジェクトに追加する。
mkdir ../MyProject/Library/OpenSSL cp -r include/ ../MyProject/Library/OpenSSL/include cp -r lib/ ../MyProject/Library/OpenSSL/lib
Build Settings
Header Search Path
以下を追加する。
$(SRCROOT)/MyProject/Library/OpenSSL/include
Library Search Path
以下を追加する。
"$(SRCROOT)/MyProject/Library/OpenSSL/lib"
Build Phases
Link Binary With Libraries
libcrypto.aとlibssl.aを追加する。
■実装
#import <openssl/bn.h> unsigned int rand = arc4random() % 100000000; BIGNUM *random = BN_new();BN_set_word(random, rand); BIGNUM *base = BN_new();BN_set_word(base, BASE); BIGNUM *prime = BN_new();BN_set_word(prime, PRIME); BIGNUM *remainder = BN_new(); BN_CTX *ctx; ctx = BN_CTX_new(); BN_mod_exp(remainder, base, random, prime, ctx); BN_CTX_free(ctx);
iOSでPythonが動けばいいのに。