如何检索密码,以便以后可以安全地从内存中删除?

时间:2012-01-29 20:09:42

标签: encryption passwords lua

如何从Lua中的用户输入中检索密码,以便在使用密码完成程序后可以安全地从内存中删除?

这是对lua aes encryption

的跟进

如何在lua中将密码转换为十六进制?

一个简单的例子是:

  

“pass”变为{0x70,0x61,0x73,0x73}

1 个答案:

答案 0 :(得分:1)

“十六进制”是什么意思?是否要将pass转换为包含#pass*2十六进制字符的字符串?那你想要这个:

function toHex(s)
    return (string.gsub(s, ".", function (c)
        return string.format("%02X", string.byte(c))
      end))
end
print(toHex('password')) --> 70617373776F7264

或者您想要一个数字表,其中每个数字是一个字符代码(字节)?那你想要这个:

function toBytes(s)
    return {string.byte(s, 1, #s)}
end
print(table.concat(toBytes('password'), ',')) --> 112,97,115,115,119,111,114,100