我有一个基于SQL的数据库,其中包含一些用户名和散列密码。我也试图通过pysnmp开发snmp服务器来报告有关应用程序的一些信息。
我需要的是一个方法,当我的snmp服务器收到请求并验证该用户并对其进行响应时,检查snmp用户名和动态对应于用户的密码短语和存储在数据库中的散列密码。
例如,如果我在数据库中有这个用户
username | hashed password
-------------------------------
admin | <hash for 12345678>
当这个snmp请求收到时
snmpwalk -v3 -l authNoPriv -u admin -A 12345678 127.0.0.1:1616 .1.3.6.1
然后我的snmp服务器哈希12345678
和检查数据库的用户admin
和哈希的12345678
和如果正确的响应和如果不正确的消息有关失败的身份验证。
我发现用户信息存储在snmp代理的表中。所以,如果我动态地创建这个表,我将实现我的目标。