解码哈希密码以与RODBC一起使用

时间:2016-02-09 17:24:54

标签: r hash bcrypt rodbc password-hash

我将在这个问题的序言中说,我对密码哈希的概念完全不熟悉......请耐心等待。

我一直在使用 RODBC 包中的 odbcConnect 功能来建立与数据库的连接。为了简化我的流程,我一直在本地将我的密码存储在一个文本文件中,然后将其读入,并将其传递给函数以建立连接。我建立连接的自定义函数如下所示:

setconnect <- function(){
  db <-"myODBCname"
  user <- readChar("C:\\Credentials\\username.txt",file.info("C:\\Credentials\\username.txt")$size)
  pass <- readChar("C:\\Credentials\\my_password.txt", file.info("C:\\Credentials\\my_password.txt")$size)
  conn <- odbcConnect(db, uid = user, pwd = pass)
  return(conn)
}    

我想用哈希密码替换该文本文件,以使其更安全。

我可以使用 bcrypt 包的 hashpw 函数来散列密码,如下所示:

> pass <- "myPassword"
> hash <- hashpw(pass)
> hash
[1] "$2a$12$jNtZmPwUt4pqEoTumGxK5e5MU.AgMGlygbGWyJUxMmShl7p1/VWBW"

理想情况下,我会使用此哈希的结果替换上面提到的 username.txt my_password.txt 文件中的内容,并修改我的 setconnect 函数在将哈希传递给 odbcConnect 之前解码哈希。

但是,我不知道如何解码哈希......这可能吗?

1 个答案:

答案 0 :(得分:1)

无法解码加密哈希,这是哈希的一个点,它是一个单向函数。

人们只能蛮力,即尝试使用希望找到匹配哈希的密码,这可能会持续到地球的尽头。

根据平台的不同,可能会有一个安全的密钥库来保存密码。