我尝试为 bacula 创建一个 python 客户端,但我在身份验证方面遇到了一些问题。
算法是:
import hmac
import base64
import re
...
challenge = re.search("auth cram-md5 ()", data)
#exemple ''
passwd = 'b489c90f3ee5b3ca86365e1bae27186e'
hm = hmac.new(passwd, challenge).digest()
rep = base64.b64encode(hm).strp().rstrip('=')
#result with python : 9zKE3VzYQ1oIDTpBuMMowQ
#result with bacula client : 9z+E3V/YQ1oIDTpBu8MowB'
有比移植 bacula 的 base 64 实现更简单的方法吗?
整数 bin_to_base64(char *buf, int buflen, char *bin, int binlen, int compatible) { uint32_t reg,保存,掩码; 对数,我; 整数 j = 0; 注册 = 0; rem = 0; 布芬——;/* 允许存储 EOS */ 对于 (i=0; i >= (rem - 6); 如果 (j