我已将加密值编码为通过url传递值,如此
"%5Cx9DJ%5CxB2%3Dr%5Cx81%5CxDA%5Cx96T%5CxA1%7E%5CxE8d7%5Cx81%5Cx91"
但是当我解码值ruby时返回字符串
"\\x9DJ\\xB2=r\\x81\\xDA\\x96T\\xA1~\\xE8d7\\x81\\x91"
而不是
"\x9DJ\xB2=r\x81\xDA\x96T\xA1~\xE8d7\x81\x91"
如何将双反斜杠转换为单个反斜杠?
我已经尝试了gsub('\\'){'\'}但是它返回了相同的值
这是我的代码
encrypted_value = URI.decode("%5Cx9DJ%5CxB2%3Dr%5Cx81%5CxDA%5Cx96T%5CxA1%7E%5CxE8d7%5Cx81%5Cx91")
@decrypted_id=Encryptor.decrypt(encrypted_value, :key => secret_key, :iv => iv, :salt => salt)
提前致谢
答案 0 :(得分:0)
这是一个令人困惑的显示问题。你不必改变任何东西,价值应该适用于解密。但是,当您打印该值时,它将显示为\\
,因为第一个\
是保留的转义字符。