passwords - 是否可以在不创建新数据库连接的情况下对 Sqlanywhere 系统用户进行身份验证?

标签 passwords sqlanywhere

在Sybase Sqlanywhere中,系统用户存储在sys.sysuser中。

下面是表中的一个示例行,用户“dba”的密码为“sql”。

user_id 1
object_id 175
user_name 'DBA'
password 0x013819f1b5d5a9fd1ba98e5b999239277b6296bee4bc28653802cd103d50fa76141aef7500
login_policy_id 173
expire_password_on_login_policy_id 0
password_creation_time '2012-02-23 11:24:32.000'
failed_login_attempts 0
last_login_time '2012-06-27 17:33:00.000'

我想知道密码是如何散列的,或者是否有人知道可以调用在 Sqlanywhere 中验证用户名密码组合的过程或函数。

最佳答案

SQL Anywhere 中的密码使用 SHA-256 算法进行哈希处理,但执行此操作的确切方法尚未发布。在 16.0 或更高版本中,您可以使用 sa_verify_password()用于验证当前用户密码的存储过程。

如果您想要验证不同用户的密码,或者如果您使用的是 v16 之前的服务器,则验证密码的唯一方法是尝试使用该密码进行连接。

免责声明:我在 Sybase 从事 SQL Anywhere 工程工作。

关于passwords - 是否可以在不创建新数据库连接的情况下对 Sqlanywhere 系统用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11448428/

相关文章:

regex - Linux 在 etc/shadow 文件上设置 root 密码

SQL:如何格式化小数,包括小于 1 的小数

php - fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 3 bytes) after ini_set

python - sqlanydb windows 无法加载 dbcapi

c# - 仅在传递整数时使用命名参数

linux - bash:更改我自己的密码(不使用 root)

java - 在具有最低特殊字符要求的 Java 中生成安全随 secret 码

bash - 是否可以使用密码自动执行 ssh 登录(不是密码短语少 ssh)

sqlanywhere - Sybase - 更改 "Name"列的大小 - "Illegal Column Definition"错误

passwords - 设置H2密码