如何将十六进制值字符串转换为base64字符串

时间:2018-01-20 15:04:48

标签: c++ sockets websocket base64 sha1

我正在创建一个websockets服务器,我真的不知道如何将十六进制值(我从 sha1 哈希)转换为base64字符串。我的意思是,base64字符串:

"b37a4f2cc0624f1690f64606cf385945b2bec4ea" 

不是:

"YjM3YTRmMmNjMDYyNGYxNjkwZjY0NjA2Y2YzODU5NDViMmJlYzRlYQ=="

它是:

"s3pPLMBiTxaQ9kYGzzhZRbK+xOo="

但是当我给它上面的sha1字符串时,我使用的库给了我第二个。那是因为上面的字符串不被视为十六进制值吗? 这些是我使用的库:

  

BASE64:   http://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp   sha1:http://www.zedwood.com/article/cpp-sha1-function

在我看来,我选错了。我可以用什么来使它工作?我需要将一些标头发送回客户端以建立连接,但我需要先执行这些步骤。

1 个答案:

答案 0 :(得分:-1)

不同的语言有不同的方式来点缀它。我可以使用Convert.ToBase64String(hash);在php中你可以使用base64_encode(hash)。