我有一个PasswordEncryptionService,在那里我将我的密码哈希并将它们与用于哈希的盐一起保存在我的MySQL数据库中。我将我的密码和我的Salt保存为字节数组,我听说我可以将它们保存为SQL数据库中的varbinary类型。
这是我的代码:
options(setNames(list(Sys.Date()), paste0("a.", 1)))
getOption("a.1")
#[1] "2018-06-03"
现在我有一个单独的方法来检索盐,并登录此人,我应该将盐保存在不同的表中,还是可以保存在用户对象中?我应该将其保存为varbinary还是仅保存为常规varchar?
答案 0 :(得分:1)
如果这是家庭作业,那么您可以将它们保存为varchar或二进制文件。无论哪位老师都很高兴。
现在,为了制作,我将哈希保存为binary
和varchar
,而我(个人)更喜欢二进制。作为二进制文件,我将它们保存为单个(连接)列,或者作为两个单独的列(salt& hash)保存。
varchar
的好处:
binary
的好处:
[var]binary
或blob
数据类型列。除此之外,我更喜欢[var]binary
,因为它更少编码。