如圖所示:
? ? 在網(wǎng)絡(luò)上傳輸時(shí)梆暮,方框內(nèi)的數(shù)據(jù)服协,public string 9, Alice的public key啦粹, Bob的public key偿荷,就算被截獲了窘游,數(shù)據(jù)也也不能被破解。
? ? 因?yàn)榻饷軘?shù)據(jù)是用shared key跳纳,shared key的運(yùn)算又有alice 和 Bob的private key參與忍饰,private key 只有 Alice 和Bob自己知道。
使用pod導(dǎo)入庫???????? pod '25519'
代碼使用:導(dǎo)入頭文件
#import <Curve25519.h>
ECKeyPair *key1 = [Curve25519 generateKeyPair];
? ? NSData *puplicKey1 = [key1 publicKey];
? ? ECKeyPair *key2 = [Curve25519 generateKeyPair];
? ? NSData *puplicKey2 = [key2 publicKey];
? ? NSData *shareData1 = [Curve25519 generateSharedSecretFromPublicKey:puplicKey2 andKeyPair:key1];
? ? NSString *shareString1? =[shareData1 base64EncodedStringWithOptions:0];
? ? NSLog(@"shareString1:%@ ",shareData1);
? ? NSData *shareData2 = [Curve25519 generateSharedSecretFromPublicKey:puplicKey1 andKeyPair:key2];
? ? NSString *shareString2? =[shareData2 base64EncodedStringWithOptions:0];
? ? NSLog(@"shareString2:%@ ",shareData1);