我有一门密码学课程,我将解密RSA-chipher。现在解密完成后,我想将解密列表中的每个数字(decryptList [])转换为字符,以便文本可读。
在decryptList [0]中我有138766332635707196740445712245626646062。我该如何将此数字转换为可读文本?
我试图从字符串转到int:
var items = [ 1, 1, 1, 2];
var units = [12, 13, 14, 10];
// Create the object like so:
// {
// "1:12": true,
// "1:13": true, // etc.
// }
var map = items.reduce(function(map, itemId, i) {
var id = itemId + ":" + units[i];
map[id] = true;
return map;
}, {});
console.log("1:13", map["1:13"]);
console.log("1:10", map["1:10"]);
console.log("2:10", map["2:10"]);
现在我想从plainInt转到" stackoverflow"。 任何提示我应该如何实现这一目标?
答案 0 :(得分:2)
这适用于python 2和3
import codecs
b = hex(plainInt).rstrip("L").lstrip("0x")
codecs.decode(b, 'hex').decode('utf-8')
答案 1 :(得分:1)
在Python 2中,您可以执行与将字符串转换为数字相反的操作:
>>> plainHex = hex(plainInt)[2:-1]
>>> plainHex.decode('hex')
'stackoverflow'
在Python 3中,int有一个“to_bytes
”函数,它接受一个字节长度和一个字节顺序(大或小端):
>>> plainInt.to_bytes(13, byteorder='big')
b'stackoverflow'
答案 2 :(得分:0)
回答你的例子:使用 create proc usp_test
as
Begin
select * from t1 option(recompile)
select * from t2
End
从长到十六进制后退,hex
从十六进制获取字符串:
decode