關于數據傳輸中加密解密那點事兒(二)-創(chuàng)新互聯

    基于上一篇,知道了數據加密中所用到的加密方式及算法,還有某些認證機構;

創(chuàng)新互聯主要從事成都網站制作、成都做網站、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務六盤水,十余年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575

        那么這一篇就用來實際操作,如何使用命令來完成數據的加密及解密;

 首先,在操作之前,要了解到兩個關于安全傳輸的協議即:SSL與TLS

       SSL:(Secure Socket Layer,安全套接字層),位于可靠的面向連接的網絡層協議和應用層協議之間的一種協議層。SSL通過互相認證、使用數字簽名確保完整性、使用加密確保私密性,以實現客戶端和服務器之間的安全通訊。該協議由兩層組成:

TLS:(Transport Layer Security,傳輸層安全協議),用于兩個應用程序之間提供保密性和數據完整性。

SSL是Netscape開發(fā)的專門用戶保護Web通訊的,目前版本為3.0。最新版本的TLS 1.0是IETF(工程任務組)制定的一種新的協議,它建立在SSL 3.0協議規(guī)范之上,是SSL 3.0的后續(xù)版本。

    在了解上述兩個協議之后,接下來就是使用OpenSSL程序來實現上述的安全協議;

  OpenSSL是一個開源項目;其組成主要包括以下三個組件:

  •  openssl;多用途的命令行工具

  • libcrypto;實現加解密的算法的庫

  • libssl;實現SSL/TLS功能的庫

openssl的具體使用方法:

    ㈠ 對稱加密

     對稱加密使用了openssl的標準命令是enc。具體用法如下:

   openssl enc -ciphername [-in filename] [-out filename] [-e] [-d] [-a/-base64] [-salt]

        常用選項:

             -ciphername:算法名稱;包括des3, des, aes, rc4, ...

             -e:加密

             -d:解密

             -a/-base64:純文本格式編碼

             -salt:加隨機鹽

             -in filename:要加密的文件路徑

             -out filename:加密之后的文件的輸出路徑

         示例:

    [root@XZC ~]# mkdir /shiyan

    [root@XZC ~]# cd /shiyan/

    [root@XZC shiyan]# cp -a /etc/fstab ./

    [root@XZC shiyan]# ls

    fstab

    [root@XZC shiyan]# openssl enc -e -des -a -salt -in ./fstab -out ./fstab.aes

    enter des-cbc encryption password:

    Verifying - enter des-cbc encryption password:

    [root@XZC shiyan]# ls

    fstab  fstab.aes

    [root@XZC shiyan]# cat fstab.aes

    U2FsdGVkX1/8MReIhI8TC8rl+oSgYbU5+c/bzZut1Kv+JylxuubCqgybgIJafKEe

    Db1kH6YeCtU+zoAqrQMPdVGtyQ4X3kMPbyFZSRbnv91Ouj8QJxpjkO3ja5o3/qFk

    aJ7HtP8R3cyXiKynOzu7M2zNU4N7uKDz2G1QOCY/ZB1ds7mT7CkM27vnGkisjxTy

    3CiFZQZ0xex6P3MGK78IoWPMyv3tYnLb0Bz9vDbfWXWnj8ImEWSg0G1SbkZyTvcm

    T13PrzzaRiP11JOSB1isG3Qz9G2r8hp/0SbqduIyeZtvTr2GmsGz5AZpULakT31s

    iLmgfHtGtWCN0EGEbVh9zLzS7UsAY4D/r03iePY/BiGnEPY4leFqqOFfuqBL/1ec

    8LkiKB2LAvRnQI4LLWzEPXTysk67ETqiXHZrOtKWE744qFkRAK9kliUT7R8KtefQ

    gl+0dWI0ODNbbdL+j9s+VZB4YdlFYXacfOhiA5Qb1R69S52RmErx+kvjq1XmwoVx

    ld0lcctrEeSsF2jMReSpZ84gmyvMC511VYMlL9QLYn6BFFE65ycXZuQfv43GRQKu

    OeYYooaswQJQ5E4SjPQDMfSBgxblZqmIxuhKBH1Mve1FQZLAo9YZsn/CrzpOTSqa

    w57DkPY8U9A2Zdz5I4qC05wCQoXhoLcmXmc6f4keHLK4IVtOOHa/7OIKn3bHpUyG

    o/Aw4fNXYbwyst4yROvXQEJPKpmg6lD/Som0K6tDGvEyX/BZAgJu+5pInhDGLnaR

    +OkEyTN3otEXGytApEW2gxunQS3UFHzK+swVstUzjHYipXvzTBR0C3Aq4NkxWoK2

    weSYlDr6FujaqMIY6wbUoMR+gD7WdstDyVfgZtOo+sXMpagB8VEsAXtPHSow50yn

    5iQdUrMRCUb70Cda7/JUNreL+cNAc2ufZaQ7FJl1+VvlxytgZf+9gn/68jHq0D6t

    CL+7rwAr+7F9hvuq3BLFrBfid1+1PjUuJABiLaArSsUrmOc7iDB08QJrz6arMQuz

    CziR6tCkN6SmiVk1j93WyTvYtjo45CMIye4t8uJsXZVOYmNKmEXfutmmw2Cxfaso

    2WUjp8c/VdkJ2Oqhx8cmY/ZWg5OmIEPTQvCmbRpbh+GnsfvaoxdbR2mkXEXDnq0+

    l6HvgpH/0g0=

   ㈡單向加密

        單向加密使用的openssl的標準命令是dgst。具體用法如下:

        openssl dgst -ciphername /PATH/TO/SOME_FILE

        示例:

    [root@XZC ~]# echo "hello gril" | openssl dgst -md5

    (stdin)= 886b7588265e1ddcaeb8f0c025efc167

    [root@XZC ~]# openssl dgst -md5 /shiyan/fstab

    MD5(/shiyan/fstab)= e05f16e951766776dbb825646b21dae1

   ㈢生成隨機數

        生成隨機數使用的是openssl的標準命令rand。具體用法如下:

        openssl rand [-out file] [ -rand file(s)] [-base64] [-hex] num

         示例:

    [root@XZC ~]# openssl rand -hex 10

    b957e6cd51ff87ef47bd

    [root@XZC ~]# openssl rand -hex -out /shiyan/a.rand 10

    [root@XZC ~]# cat /shiyan/a.rand

    a814ddf429ce79b2f296

     ㈣生成用戶密碼

        生成用戶密碼使用的是openssl標準命令中的passwd

        openssl passwd [-1] [-salt string] [-stdin]

        常用選項:

         -1:使用md5加密算法

          -salt string:加入隨機數,最多8位

       -stdin:對標準輸入的內容進行加密

         示例:

    [root@XZC ~]# echo "xuzongchao123" | openssl passwd -1 -stdin

    $1$kRWLNvyk$HD1pT6kFEzSquqKSyOGeZ0

    [root@XZC ~]# openssl passwd -1 -salt `openssl rand -base64 10`

    Password:

    $1$VY1BfSc9$lkI2LeSIk3Ye5hTBWMvcQ.

   ㈤生成公鑰加密算法

        生成RSA算法的私鑰是:openssl genrsa

        從私鑰中提取RSA公鑰是:openssl rsa

        openssl genrsa [-out filename] [-des] [-des3] [-idea] [-f4] [-3] [numbits]

          -numbits:生成私鑰的大小,默認是2048

        示例:

    [root@XZC ~]# (umask 077; openssl genrsa -out /shiyan/ga.genrsa 4096)

    # 括號的意思是將命令在子shell中運行,使用umask掩碼修改生成文件的權限

    Generating RSA private key, 4096 bit long modulus

    ...................................................................................    .............++

    .........................................................++

    e is 65537 (0x10001)

    [root@XZC ~]# ls -dl /shiyan/ga.genrsa

    -rw-------. 1 root root 3243 8月  11 15:41 /shiyan/ga.genrsa

    [root@XZC ~]# cat /shiyan/ga.genrsa

    -----BEGIN RSA PRIVATE KEY-----

    MIIJKQIBAAKCAgEA8+W/qjcEKMnbzLmCHxf2oigkTpuA11eVtD5ZvpMSH78ZtQvU

    auyRxrwqnr7Jvge2AawA6F7JvyBEux5v1AImFXFyBZpK9yMe/WUEyjKLrToA151b

    ID6KbrT8OGGE0fNdNY+UuR1hvZ1Hz/+rjVZVDYKtnhi8TxrLPuTSaA90tn4WCajh

    UtSn9d7tmBhBNmW0AEZIxFc2VnX9HexGGWR1sCcYV6oeojxv+1BZHPmcyB7zeQuB

    AH1cB3c/mUKMdXBEgMUXf9BMycJpAZL3qzXpig5GHN6VKsAA6ELNmXmBaCEfDhH1

    Bv2jetGAwL8GaImX0I+q6qjKp56NGI3tRfi420Ut7/kDFreqm8wUXykZMRGTaQic

    3s0t5Q/jBMFjD6cBEvijzyLVSfhP3C2Tsb9pdEFquj8A7O47NtH0hermujq7ycqz

    Dj0CuzjCsWfBooJfn2CIylQixl109gyvYuJ5q6xyNIwKCAQA1AYuaNo4Y/EXZW2Y

    m0Fx/RZCrohs2rEcTxSRTvmenH9cGYn+tKmE4PcuyrulYkV88TmpRL12f64v1V3h

    -----END RSA PRIVATE KEY-----

        openssl rsa [-in filename] [-out filename] [-pubout]

            -pubout:根據私鑰提取出公鑰,不生成文件,在顯示屏輸出結果;
     示例:

    [root@XZC ~]# openssl rsa -in /shiyan/ga.genrsa -pubout

    writing RSA key

    -----BEGIN PUBLIC KEY-----

    MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8+W/qjcEKMnbzLmCHxf2

    oigkTpuA11eVtD5ZvpMSH78ZtQvUauyRxrwqnr7Jvge2AawA6F7JvyBEux5v1AIm

    loR7sgFWoRASmiZCyAHPntzQUralQluU5xqinzXigO6CtKoAlyj/GU7xa+jW3aN8

    G4NWwel6W9ZB9S6scPd1pj5efUwKZ+4nbzu96upppsmLdTuftDab513IYEA5iiRq

    UeHCh6/oCC4ZMSiLSuOLQx8CAwEAAQ==

    -----END PUBLIC KEY-----

        ㈥建立私有CA
            ①創(chuàng)建CA的私鑰文件

                ~]# (umask 077 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

             ②生成自簽證書

                 ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem  -out /etc/pki/CA/cacert.pem -days 3653

                    -new :生成新證書簽署請求

                    -x509:生成自簽證書,專用語私有CA的自簽證書的頒發(fā)

                    -key:指定CA的私鑰文件路徑

                    -out:生成自簽證書所保存的路徑

                    -days:設置證書有效期限;單位是天

                ③滿足CA所必須的目錄級文件和文本文件的布局:

                    ~]# touch /etc/pki/CA/index.txt

            ~]# echo 01 > /etc/pki/CA/serial

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

本文標題:關于數據傳輸中加密解密那點事兒(二)-創(chuàng)新互聯
文章路徑:http://muchs.cn/article8/pdhop.html

成都網站建設公司_創(chuàng)新互聯,為您提供移動網站建設、響應式網站、靜態(tài)網站、網站設計公司、建站公司網站導航

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

搜索引擎優(yōu)化