ABAP Software component SAP_BASIS 下的数据库表 URS02 的用途介绍

简介: ABAP Software component SAP_BASIS 下的数据库表 URS02 的用途介绍

数据库表 USR02 是 SAP 系统中的一个重要表,它用于存储用户的验证信息。在 ABAP 开发中,我们经常需要与此表进行交互,以管理和验证用户的凭据。

这张表里一些主要的字段含义罗列如下:

  • BNAME: 登录用户名
  • GLTGV: 用户在系统生效的起始时间
  • GLTGB: 用户在系统生效的截止时间
  • USTYP: 用户类型。A 代表 Dialog 用户,B 代表系统用户,C 代表 Communication Data 用户,L 代表 Reference 用户,S 代表 Service 用户。

  • ANAME: 创建这个用户的用户名,本例是 RFC_UVERWALT.

OCOD1: Password Hash Key

在计算机安全领域,我们通常不会直接存储用户的密码,而是存储密码的哈希值。这是因为,如果数据库被黑客攻破,直接存储的密码就可能会被窃取。但是,如果存储的是密码的哈希值,黑客即使窃取到了这些哈希值,也不能直接知道原始的密码是什么,因为哈希函数是单向的,不能从哈希值反推出原始数据。

“Password Hash Key”,可以理解为用于生成密码哈希值的 “Key”,它是哈希函数的一个输入。哈希函数会接受两个输入:一个是要哈希的数据(在这个场景下就是密码),另一个就是 “Hash Key”。这个 “Key” 是一个秘密的,只有系统知道,用户和其他人都不知道。系统在接收到用户的密码后,会将密码和 “Hash Key” 一起输入到哈希函数中,生成哈希值,然后将这个哈希值存储在数据库中。

那么,为什么要使用 “Hash Key” 呢?这是因为,如果我们直接使用密码作为哈希函数的输入,黑客可以通过 “彩虹表” 攻击来破解密码。“彩虹表” 是一种预先计算好的,包含了许多可能的密码和对应哈希值的表。黑客可以通过比较他窃取到的哈希值和 “彩虹表” 中的哈希值,来找出对应的密码。但是,如果我们使用了 “Hash Key”,那么黑客即使有了 “彩虹表”,也无法找到正确的密码,因为他不知道 “Hash Key”。

现在,我们来举一个简单的例子。假设我们有一个用户,他的密码是 “123456”,我们的 “Hash Key” 是 “abc”。我们使用的哈希函数是 SHA256。首先,我们会将密码和 “Hash Key” 连接起来,得到 “123456abc”。然后,我们将 “123456abc” 输入到 SHA256 哈希函数中,得到一个哈希值,例如 “e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855”。然后,我们将这个哈希值存储在数据库中。

当用户下次登录时,他会输入他的密码 “123456”。系统会将这个密码和 “Hash Key” 连接起来,得到 “123456abc”,然后将其输入到 SHA256 哈希函数中,得到一个哈希值。系统会将这个哈希值和数据库中存储的哈希值进行比较,如果两者相同,那么说明用户输入的密码是正确的。

相关文章
|
4月前
|
存储 安全 数据库
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
什么是 SAP ABAP 数据库表的 Display Maintenance Allowed with Restrictions
|
4月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
4月前
|
SQL 负载均衡 监控
SAP ABAP DBSQL_SQL_ERROR 错误
SAP ABAP DBSQL_SQL_ERROR 错误
|
4月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
4月前
|
JSON 应用服务中间件 API
使用 ABAP 代码消费 SAP 系统的 OData 服务
使用 ABAP 代码消费 SAP 系统的 OData 服务
|
4月前
|
SQL 监控 Oracle
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
SAP ABAP 系统错误 Return value of the database layer SQL dbsl rc 99
|
4月前
|
存储 前端开发 Linux
在 SAP ABAP 系统里访问 FTP 服务器
在 SAP ABAP 系统里访问 FTP 服务器
|
4月前
|
存储 前端开发 应用服务中间件
使用 SAP ABAP 执行 FTP 操作
使用 SAP ABAP 执行 FTP 操作
|
4月前
|
BI 网络安全
如何使用 ABAPGit 在 SAP ABAP 系统安装 abap2xlsx 工具试读版
如何使用 ABAPGit 在 SAP ABAP 系统安装 abap2xlsx 工具试读版