命令

作者: Zorin | 来源:发表于2020-05-14 17:00 被阅读0次

    文件编译

    //编译 c文件
    gcc demo.c  // 会生成一个 a.out 文件  
    ./a.out     // 就能显示 执行的结果
    
    /// 把 c 文件 编译成 cpp文件
    clang -rewrite-objc block.c -o block.cpp
    

    加密解密

    1. 对称加密
    • DES
     /// DES(ECB)加密
     $ echo -n hello | openssl enc -des-ecb -K 616263 -nosalt | base64
     /// DES(ECB)解密
     $ echo -n HQr0Oij2kbo= | base64 -D | openssl enc -des-ecb -K 616263 -nosalt -d
    
    
     /// DES(CBC)加密
    $ echo -n hello | openssl enc -des-cbc -iv 0102030405060708 -K 616263 -nosalt | base64
     /// DES(CBC)解密
    $ echo -n alvrvb3Gz88= | base64 -D | openssl enc -des-cbc -iv 0102030405060708 -K 616263 -nosalt -d
    
    • AES
     // AES(ECB)加密
     $ echo -n hello | openssl enc -aes-128-ecb  -K 616263 -nosalt | base64
     /// AES(ECB)解密
     $ echo -n d1QG4T2tivoi0Kiu3NEmZQ== | base64 -D | openssl enc -aes-128-ecb -K 616263 -nosalt -d
     
     
     /// AES(CBC)加密:( 61 62 63 对应ASCILL码  abc)
     $ echo -n hello | openssl enc -aes-128-cbc -iv 0102030405060708  -K 616263 -nosalt | base64
     /// AES(CBC)解密:( 61 62 63 对应ASCILL码  abc)
     $ echo -n d1QG4T2tivoi0Kiu3NEmZQ== | base64 -D | openssl enc -aes-128-ecb -K 616263 -nosalt -d
    
    • Base64
    /// 对字符串的 编码和解码
    $ echo hello | openssl base64
    $ echo aGVsbG8K | openssl base64 -d
    
    
    /// 对文件内容 进行 编码和解码
    $ openssl  enc  –base64 –in  name.txt  –out  encode.txt
    $ openssl  enc  –base64  –d  –in  out.txt  –out  decode.txt
    
    
    /// 对文件的 编码和解码
    $ openssl base64 -in t.txt
    $ echo aGVsbG8gc3dpZnQK | openssl base64 -d -out des.txt
    
    

    2. 非对称加密

    • RSA

    RSA加密:公钥加密,私钥解密。
    RSA签名:私钥加密(签名),公钥解密(验证)。

    /// 生成一个 私钥
    $ openssl genrsa -out test_pri.key 1024
    /// 根据私钥生成一个 公钥
    $ openssl rsa -in test_pri.key -pubout -out test_pub.key  
    
    /// 使用 公钥进行加密
    $ openssl rsautl -encrypt  -pubin -inkey  test_pub.key  -in base64.txt -out en.txt
    /// 使用 私钥进行解密
    $ openssl rsautl -decrypt         -inkey  test_pri.key  -in en.txt     -out de.txt   
    
    /// 使用私钥进行签名
    $ openssl rsautl -sign   -in  base64.txt          -inkey  test_pri.key  -out enc.txt
    /// 使用公钥进行验证
    $ openssl rsautl -verify -in  enc.txt      -pubin -inkey  test_pub.key  -out dec.txt
    

    3. HASH(散列)

    • MD5
    $ md5 -s "hello"
    
    • SHA (待补充)

    相关文章

      网友评论

          本文标题:命令

          本文链接:https://www.haomeiwen.com/subject/cguonhtx.html