91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

使用curl操作githubAPIV3(1)-創新互聯

Curl,官方解釋是一個命令行工具,用來傳輸URI資源數據,支持HTTP,HTTPS,FTP,FTPS,IMAP等。支持HTTP GET/PUT, FTP Uploading等,也支持代理,SSL等,可以說是一個強大網絡操作工具。最新版本是7.29. 官方網站是http://curl.haxx.se。 相對應的Curl還提供了一個libcurl作為一個容易使用的客戶端URL傳輸庫,同樣支持以上特點 。使用Curl 操作GITHUP,需要涉及到三個概念,第一個概念就是GITHUP網站是HTTPS,不是HTTP,是SSL加密網站。第二個GITHUP API是OATH授權的,第三個是CURL的一些基本操作。首先看HTTPS是一個什么概念。

阜南ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

1)HTTPS,通常意義上就是HTTP協議都是傳輸的公開文本數據,任何一臺中間代理機器都可以截取并查看這些數據,要使這些數據雖然被截取到但是不能查看,那怎么辦呢?唯一個辦法就是加密。那么怎么加密呢?怎么解密呢?顯然服務器端需要將數據加密然后發給客戶端,客戶端進行解密,客戶端怎么解密呢?這就是SSL V2/V3和TLS協議。因為這一塊比較復雜,那么首先從數據的加密與解密來說。傳統的加密解密過程如下:

使用curl操作github API V3(1)

很顯然在上述過程中我們使用的是一個相同的KEY和兩套不同的加密與解密算法。在這其中,如下圖所示,KEY是公共的。因為KEY是公共的并且私有保密的。所以算法不再是核心關鍵,也就是說就算算法公開,沒有KEY也無法解密這個數據,通常設計這些KEY是非常有講究的,因為要避免別人暴力破解。

使用curl操作github API V3(1)

開源安全庫Openssl提供了一個工具命令可以進行上述的加密與解密過程。使用如下命令:

使用curl操作github API V3(1)

上述命令支持比較著名的一些通用加密算法有DES/AES等,下面使用一個文本文件試驗一下:

使用curl操作github API V3(1)

從上面的操作中可以看出,加密與解密嚴重依賴于這個公共的KEY,顯然這種方法無法應用于HTTP網站的通訊,HTTP網站服務端與客戶端不可能預先協商一個公共密鑰出來。所以經典加密在HTTP網站上基本行不通,于是出現了另外一種加密與解密方法,這就是非對稱加密,與前面加密方法相對應,前述方法通常稱之為對稱加密。非對稱加密是怎么樣呢?非對稱加密與對稱加密大的區別就在于加密時使用的是一個公共密鑰。經過這個公共密鑰加密的數據只有一個私有密鑰可以解密。如下圖所示:

使用curl操作github API V3(1)

顯然這種加密與解密的過程中,公共密鑰是一個關鍵,顯然它可以公開,但是也必須確保它與私鑰匹配。還有一個加密方還需要對公鑰的來源進行確認,以防止非法公鑰使用。這種加密與解密的過程顯然會導致公鑰相對于密鑰的唯一性,不再是簡單的密碼。可能也是一個復雜的密文。也就是說我們首先要通過一定的算法算出唯一的一對公鑰與私鑰。因為加密與解密使用是不同的密鑰,顯然性能是大大受到影響。Openssl也支持這種加密方式,通常最常用的是RSA加密算法。如下圖所示:

使用curl操作github API V3(1)

操作如下:

dvkx47@FC7R5S1 /home/cipan
# openssl genrsa -out privatekey 1024
Generating RSA private key, 1024 bit long modulus
........++++++
....++++++
e is 65537 (0x10001)

dvkx47@FC7R5S1 /home/cipan
# cat privatekey
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQD3wRgIhsejsP5nPE4T0Ux4Tf0B9SJYbl61v5RmQsXPR03PZwLJ
yomY65o079Yk7ePfXV674LUU4/jPMwJ9QpQR8i62oR8MMBUjbhLTQU5EusHXsxfY
Wr2xQwL3HQwrDW5gm5hqPxCX1hwPTlePnJ4wL6CFHa+30W02bRXcGqSpcQIDAQAB
AoGBAIwhf0JzWT/QwFQL2+2BmEsDcXNF/2MdKhyKe5lLcy7GGdCRZxZTpHgF6na+
oNTKaPTRjt+dPU7Pks8+/s1yduSCvOkViDfGvZ/lKXnj7jVA/TPFD6nsjh2F30mY
ZyZgag2pV9YnAvh2SIvcJXxvdUU3FMcPiZZqAhD4mE7pEQFBAkEA/YCdhcyu94fx
3TqfDpp2tJ8fh/py+fqPWksvhVbdq21Sqegpj4yqnZkTQVfWNAp+OgbPjK6PArKA
WbxOEfxHlQJBAPox+wixjO+x6qIn6IYS2plN3UDG05mPDACqMR80BrGWqBhhcTsD
a1Oh55IA6HmN8cxQp3m9aN9bMPzv66w5s20CQBjjIZPbLmo6vHH9qVPjsje1T4Eo
A1WrVZuFuhqbFpQX3X+0vS/MnYtvVcaaevsM9Kt5s7KaCIw5PgSRShDV9akCQEJl
YSk9dRlnLc06qgpqlnh5oW6/VQg7XgQPJloRhHU8df+CXHo8vg7Dt5DXjNo1QSXn
gYpdKaecm7OEOBbMeUECQQCV+UNy1TebuOJQIEKLTj7XXhcaH60fcD10OpB9zngc
EsjY+24AmZCR5sb1BRD1vh0dcgFSgaOfgUwMRtkEF/Ml
-----END RSA PRIVATE KEY-----

dvkx47@FC7R5S1 /home/cipan
# openssl rsa -in privatekey  -pubout > pub.key
writing RSA key

dvkx47@FC7R5S1 /home/cipan
# cat pub.key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3wRgIhsejsP5nPE4T0Ux4Tf0B
9SJYbl61v5RmQsXPR03PZwLJyomY65o079Yk7ePfXV674LUU4/jPMwJ9QpQR8i62
oR8MMBUjbhLTQU5EusHXsxfYWr2xQwL3HQwrDW5gm5hqPxCX1hwPTlePnJ4wL6CF
Ha+30W02bRXcGqSpcQIDAQAB
-----END PUBLIC KEY-----

dvkx47@FC7R5S1 /home/cipan
# openssl rsautl -in plaintext_origin  -out ciphertext_rsa -inkey pub.key  -pub
in -encrypt

dvkx47@FC7R5S1 /home/cipan
# cat ciphertext_rsa
x;?Q9???????UE??Qq?n!???k/????s&?5??????qr*?N':?K??4?Y?
?DI?'rFC#????????r????:r?8???Y  &#?'?|??L}|?-#??SM?S`-&5XZy
dvkx47@FC7R5S1 /home/cipan
# openssl rsautl -in ciphertext_rsa  -out plaintext_new_rsa -inkey privatekey -
decrypt

dvkx47@FC7R5S1 /home/cipan
# cat plaintext_new_rsa
I am a plaintext, -------------------
------------------------------------

dvkx47@FC7R5S1 /home/cipan
#

非對稱加密顯然最關鍵的一點就是公鑰與密鑰這一對是唯一的,那顯然用私鑰加密,如果能通過公鑰解開,那就證明這個文件是私鑰加過密的,因為一個公鑰肯定只解一個私鑰。當然這當中需要確定的是算法保證。如果算法不能保證這種一一對應,那是不能夠進行證明的。顯然目前RSA算法是可以的。如下圖所示:

使用curl操作github API V3(1)

顯然Openssl也提供了相應的命令行來支持這種操作如下圖:

使用curl操作github API V3(1) 

操作如下圖:

dvkx47@FC7R5S1 /home/cipan
# ls
ciphertext      crytxt.txt     plaintext_new_rsa  privatekey
ciphertext_rsa  plaintext_new  plaintext_origin   pub.key

dvkx47@FC7R5S1 /home/cipan
# openssl rsautl -in plaintext_origin  -out ciphertext.sig -inkey privatekey  -
sign

dvkx47@FC7R5S1 /home/cipan
# ll
bash: ll: command not found

dvkx47@FC7R5S1 /home/cipan
# ls
ciphertext      ciphertext_rsa  plaintext_new      plaintext_origin  pub.key
ciphertext.sig  crytxt.txt      plaintext_new_rsa  privatekey

dvkx47@FC7R5S1 /home/cipan
# cat ciphertext.sig
vNC:hj?%=???5S??Η?CW?=??o??!????[      ??#X?O$??U4?%1??,?w?A0Y????%???oQ???k??=
%????'?S?dvkx47@FC7R5S1 /home/cipan
# openssl rsautl -in ciphertext.sig  -out plaintext_new_sign -inkey pub.key  -p
ubin -verify

dvkx47@FC7R5S1 /home/cipan
# cat plaintext_new_sign
I am a plaintext, -------------------
-------------------------------------

dvkx47@FC7R5S1 /home/cipan
#

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


本文標題:使用curl操作githubAPIV3(1)-創新互聯
文章分享:http://www.yuzhuanjia.cn/article/dohogg.html
主站蜘蛛池模板: 91香蕉亚洲精品人人影视 | 国产av一区二区三区久久久综合 | 国产不卡一卡2卡三卡4卡乱码 | 午夜成人鲁丝片午夜精老熟女 | 91精品国产乱 | 爱你几何在线观看 | 国产白洁有声在线播放 | 91网站视频在线观看 | 按摩高潮A片一区二区三区 按摩人妻中文字幕 | 高潮视频 | 99久久无码精品一区二区 | 91老司机深夜福利精品视 | 91视频精品安全吗 | 午夜宅男永久在线观看 | 91免费精品国自产拍偷拍 | H高潮嗯啊娇喘抽搐A片男男视频 | av永久综合在线观看红杏 | 福利一区二区三区视频在线观看 | 一区二区国产在线播放 | 午夜av观看不卡 | 韩国三级中文字幕 | 99久久国产精品视频 | 91人人摸人人爽人人爱 | 97久久精品人妻人人搡人人玩 | 国产白丝喷水娇喘视 | 99久久久国产精品 | 99国产精成人午夜视频一区二 | 国产av大全一区二区三区 | 一区二区三区新区不卡 | 91性高湖久久久久久久 | 91视频首页| 午夜视频久久 | 午夜免费理论片在线看 | 91婷婷韩国欧美一 | 成年黄页网站大全免费 | h无码精品动漫在线观看 | 国产91av在 | 99精品久久精品一区二区 | 成年女人在线视频 | 午夜抽搐一进一出 | 高清免费在线观看 |