Как я могу восстановить пароль так, чтобы он впоследствии мог быть безопасно удален из памяти? - PullRequest
1 голос
/ 30 января 2012

Как я могу извлечь пароль из пользовательского ввода в Lua таким образом, чтобы его можно было безопасно удалить из памяти после того, как программа выполнена с использованием пароля?

Это продолжение: шифрование lua aes

Как мне преобразовать пароль в шестнадцатеричные числа в lua?

Простой пример:

«проход» становится {0x70,0x61,0x73,0x73}

1 Ответ

1 голос
/ 30 января 2012

Что вы подразумеваете под "шестнадцатеричными"?Вы хотите преобразовать 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
...