当前位置: 首页 > 知识库问答 >
问题:

解密在用户数组列表中找到的所有用户名?

龙令雪
2023-03-14

我正在Java上开发一个简单的登录系统,我无法解密存储在用户数组列表中的所有用户名(Users.java包含int userId、String用户名和String密码),以便我可以将它们与新的注册用户名进行比较,检查重复项,如果用户名已经存在,则通过服务器向客户端发送一个错误的布尔值。

我不确定如何一次解密每个用户名?我已经在单个用户名上测试了我的解密方法,解密工作正常。到目前为止,我尝试过的是...

一个高级forhtml" target="_blank">循环,用于临时添加所有解密的用户名,另一个高级for循环用于遍历临时数组列表,并检查是否在该数组列表中找到了新的已解密的用户名;

String dUsername = aes.decrypt(eUsername);            
boolean isRegistered = false;     

List<String> temp = new ArrayList<>();
for (Users users : usersList) {
    temp.add(aes.decrypt(users.getUsername()));
}

for (String usernames : temp) {
    if (!usernames.equals(dUsername))   
        isRegistered = true;
}

这不起作用。

eUsername是加密的用户名,而isSignated将根据用户名是否重复向客户端发送true/false。如何获取usersList ArrayList中的所有用户名,并解密所有值,以便将它们与解密的eUsername(dUsername)进行比较?可能吗?

共有3个答案

苍和裕
2023-03-14

我不知道你为什么要加密用户名,但是根本没有必要解密来比较它们。对比一下加密的用户名就知道了。

酆景辉
2023-03-14

是否总是返回“真”表示用户已经注册?因为我想也许你想要:

if (usernames.equals(dUsername))   
        isRegistered = true;
屈畅
2023-03-14

这应该工作:

String dUsername = aes.decrypt(eUsername);
boolean isRegistered = false;

List<String> temp = new ArrayList<>();
for (Users users : usersList) {
    temp.add(aes.decrypt(users.getUsername()));
}

for (String usernames : temp) {
    if (usernames.equals(dUsername)) {
        isRegistered = true;
        break;
    }
}

return !isRegistered;

注意循环中条件的否定,结果在最后被否定。如果用户列表中有多个用户,显然您将始终至少有一个用户,其中条件!用户名。equals(dUsername)为true,在这种情况下,isRegistered将设置为true,并且在找到实际副本时永远无法返回。因此,您只需要在列表中查找重复项,因为它是一次性事件
之后,您可以否定结果,以表示选中的用户名是唯一的。

似乎您通过迭代< code>usersList成功地解密了用户名。由于您只对寻找一个副本感兴趣(用户名应该是唯一的),您可以将这两个循环合并成一个以提高效率:

String dUsername = aes.decrypt(eUsername);
boolean isRegistered = false;

for (Users users : usersList) {
    String uname = aes.decrypt(users.getUsername());
    if (uname.equals(dUsername)) {
        isRegistered = true;
        break;
    }
}

return !isRegistered;
 类似资料:
  • 问题内容: 如何列出Linux中某个组的所有成员(可能还包括其他unice)? 问题答案: 不幸的是,据我所知,没有很好的便携式方法可以做到这一点。如果您尝试解析/ etc / group(如其他人所建议的那样),则会错过以该组为主要组的用户以及通过UNIX平面文件(例如LDAP,NIS, pam-pgsql等)。 如果我绝对必须自己做,则可能相反:使用来获取系统上每个用户的组(这将使NSS看到所

  • 我需要在Active Directory中找到特定组中的所有用户。我可以查询AD的特定组,我想得到用户,但我无法查询用户的特定组。 以下工作: 上面的查询返回所有类似“test”的广告组。但我该如何从广告群中获取用户列表呢?我特别想列出像“test”这样的所有组中的用户。

  • 问题内容: 我刚接触Oracle,想查找用户’john’创建的所有表。 我通过以下命令通过命令行连接到Oracle数据库: 如何列出给定用户(例如john)创建的所有表? 问题答案: 这将获得所有以“ JOHN”用户为所有者的表: 或者 ([TL; DR]通常需要使用大写。假设用户是使用该语句创建的,那么Oracle的默认行为是将所有对象名称(即表,列,用户等)都转换为大写。查询数据字典,在这种情

  • 问题内容: 我需要将删除标志列添加到数据库中的所有40个用户表。我可以编写一个脚本来遍历sys.tables,但是我想我会检查是否有人有更好的解决方案,或者针对这种情况预先创建了sql。 问题答案: 有一个未记录但众所周知的存储过程sp_msforeachtable:

  • 本节,我们要添加倒数第二个用户控制器动作,index。index 动作不是显示某一个用户,而是显示所有用户。在这个过程中,我们要学习如何在数据库中生成示例用户数据,以及如何分页显示用户列表,让首页显示任意数量的用户。用户列表、分页链接和“Users”(所有用户)导航链接的构思图如图 9.8 所示。[6]9.4 节会添加管理功能,用来删除用户。 图 9.8:用户列表页面的构思图 9.3.1 用户列表

  • 我想有一个arrayList记录用户条目,并在收到非整数值时结束,但我有一个无限循环idk why。