我正在使用NTL library来实现ElGamal加密/解密算法。
我已经知道它可以正常工作了,但是算法希望将消息转换为整数,以便可以对其进行加密。
所以,如果我输入一个像1234的数字,那么一切正常,但是如何将C++字符串(std::string)转换为ZZ数字,然后从该ZZ数字转换为字符串呢?

LE :

ZZ是一个代表很多数字的类。
例如:18287348238476283658234881728316274273671623781254124517353

因此,基本上,我希望以“Hello World”为例,逐个字符运行它并获取字符的ascii代码,因此得到一个数字:“72 101 108 108 111 32 87 111 114 108 100”
然后我需要将此数字转换回字符串“Hello World”

也许有更好的方法。

最佳答案

这是一种简单的方法:

std::string str("1234567890");
NTL::ZZ number(NTL::INIT_VAL, str.c_str());

现在注意:
std::cout << str << std::endl; // prints 1234567890
std::cout << number << std::endl; // prints 1234567890

关于c++ - 如何将字符串转换为ZZ数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2117312/

10-11 22:53
查看更多