openssl

0.阅读与引用

加密解密

OPENSSL官网 

Old Release

base64编码

RTCP

【dog250-令人作呕的OpenSSL】

王小云

一个使用的例子

base64的编解码的使用

base64编解码编译与使用

base64的C语言实现-4个入参的 

1.安装与源码阅读

1.1 安装

wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0l.tar.gz
tar -zxvf openssl-1.1.0l.tar.gz
cd openssl-1.1.0l
./config
make


1.2 我的代码阅读路径

D:\005-01-代码\001-开源项目源码\011-openssl\openssl-1.1.0l.tar\openssl-1.1.0l\openssl-1.1.0l

2.ssl学习点

2.1 ssl中的哈希的使用

gcc -o ssl_hash ssl_hash.c -lssl -lcrypto

2.2 BIO

2.2.1 设计

struct bio_st {
    const BIO_METHOD *method;
    /* bio, mode, argp, argi, argl, ret */
    long (*callback) (struct bio_st *, int, const char *, int, long, long);
    char *cb_arg;               /* first argument for the callback */
    int init;
    int shutdown;
    int flags;                  /* extra storage */
    int retry_reason;
    int num;
    void *ptr;
    struct bio_st *next_bio;    /* used by filter BIOs */
    struct bio_st *prev_bio;    /* used by filter BIOs */
    int references;
    uint64_t num_read;
    uint64_t num_write;
    CRYPTO_EX_DATA ex_data;
    CRYPTO_RWLOCK *lock;
};


typedef struct bio_method_st BIO_METHOD;
struct bio_method_st {
    int type;
    char *name;
    int (*bwrite) (BIO *, const char *, int);
    int (*bread) (BIO *, char *, int);
    int (*bputs) (BIO *, const char *);
    int (*bgets) (BIO *, char *, int);
    long (*ctrl) (BIO *, int, long, void *);
    int (*create) (BIO *);
    int (*destroy) (BIO *);
    long (*callback_ctrl) (BIO *, int, BIO_info_cb *);
};

2.2.2 使用场景

数据流加密.

2.2.3 

unsigned后面不加数据类型的时候是unsigned int吗?需要的时候unsigned char,这两个不是一个数据类型,所以会出错.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值