将 Base64 转换为 GMP 整数
我有一个场景,我得到一个 Base64 (64 位编码)字符串。我的要求是将此字符串转换为 gmp 整数 (mpz_t)。
但根据 GMP 手册 仅“基数可能从 2 到 62 不等“对于函数 mpz_set_str() 。
我可以遵循什么方法来执行成功的转换吗? 令我印象深刻的一个想法是将 Base64 转换为二进制,然后使用 mpz_set_str 和基数 2 设置 mpz_t 变量。
如果有帮助,我们将不胜感激。谢谢。
I have a scenario where the I get a Base64 (64 bit encoded) string. My requirement is to convert this string to gmp integer (mpz_t).
But according to GMP manual only "The base may vary from 2 to 62" for the function mpz_set_str() .
Is there any approach I can follow to perform a successful conversion?
One idea that struck me was to convert the Base64 to binary and then set the mpz_t variable using mpz_set_str with base 2.
Help would be really appreciated. Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GMP Base 与 Base64 编码不同。您走在正确的道路上 - 应用 Base64 解码,然后对结果使用
mpz_import
。GMP bases are not the same thing as base64 encoding. You're on the right track - apply the base64 decode, then use
mpz_import
on the result.