1 Star 0 Fork 23

carter.j.cheng/curve

forked from Gitee 极速下载/curve 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
authenticator.h 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
yangyaokai 提交于 2020-06-19 17:18 +08:00 . replace HMacSha256 impl
/*
* Copyright (c) 2020 NetEase Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* Project: curve
* File Created: Monday, 1st April 2019 5:15:20 pm
* Author: tongguangxun
*/
#ifndef SRC_COMMON_AUTHENTICATOR_H_
#define SRC_COMMON_AUTHENTICATOR_H_
#include <openssl/hmac.h>
#include <openssl/x509.h>
#include <string>
namespace curve {
namespace common {
static char b[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
/* 0000000000111111111122222222223333333333444444444455555555556666 */
/* 0123456789012345678901234567890123456789012345678901234567890123 */
class Authenticator {
public:
/**
* bref: 获取要进行签名的字符串
* @param: date, 当前的时间
* @param: owner, 文件所有者
* @return: 返回需要进行加密的字符串
*/
static std::string GetString2Signature(uint64_t date,
const std::string& owner);
/**
* bref: 为字符串计算签名
* @param: String2Signature, 需要进行签名计算的字符串
* @param: secretKey, 为计算的秘钥
* @return: 返回需要进行签名过后的字符串
*/
static std::string CalcString2Signature(const std::string& String2Signature,
const std::string& secretKey);
private:
static int HMacSha256(const void* key, int key_size,
const void* data, int data_size,
void* digest);
static std::string Base64(const unsigned char *src, size_t sz);
};
} // namespace common
} // namespace curve
#endif // SRC_COMMON_AUTHENTICATOR_H_
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C/C++
1
https://gitee.com/carters/curve.git
git@gitee.com:carters/curve.git
carters
curve
curve
master

搜索帮助

371d5123 14472233 46e8bd33 14472233