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

使用位于不同代码库中的salt进行加密/解密的单元测试

暴才俊
2023-03-14
  • 加密器和解密器位于两个不同的代码基中。解密器与库一起打包,但加密器不是,因此很难将它们都放在同一个测试套件中!
  • 在encryptor中使用了一个随机的salt,因此即使使用相同的输入,加密器每次都会产生不同的输出,我也不能对结果进行断言。
  • 出于其目的,解密器(使其更难注入另一个类)是一个最终类,它的所有方法都是私有的,只有几个包可访问的入口点除外。

我不想测试JCE,但我想测试我的代码:

  • 从加密的许可证中提取盐,
  • 解密加密的许可证,
  • 将输出反序列化为某个包含许可证数据的数据结构,

共有1个答案

邓阳嘉
2023-03-14

从你所描述的情况来看,我看不出分开测试它们有什么问题。

  • 加密器和解密器位于两个不同的代码基中。

如果您单独测试它们,这不是一个问题。

    null
    null
    null

所有您需要的是一个加密的许可证,您知道盐。

  • 破译加密许可证

类似地,您可以使用一个您知道它破译为什么的许可证。

    null
 类似资料:
  • 我想得到的是 使用libnail加密密码salt 我有一个列表的盐,我想用它来加密/解密我的密码。当我加密密码时,我得到一个哈希返回,这样一个似乎可以工作,但在解密时,我总是得到假返回值。 我是否使用了错误的方法对libnaude进行加密/解密,还是完全朝着错误的方向行驶? 我的加密/解密源: 我感谢任何帮助! 多姆

  • 我将AES与salt和IV一起用于加密和解密一个唯一的ID,但它给出了javax。加密。解密时出现BadPaddingException。 每次解密数据时给出的完整错误堆栈跟踪 加密方法- 解密方法 我是JCA的新手。

  • 问题内容: 我试图弄清楚如何使用crypto模块对nodejs中的密码进行加盐和哈希处理。我可以这样做来创建哈希密码: 但是我对以后如何验证密码感到困惑。 问题答案: 在您使用的任何持久性机制(数据库)中,您都将在哈希值和迭代次数之间存储结果哈希,这两者都是纯文本。如果每个密码使用不同的盐(您应该这样做),则还必须保存该信息。 然后,您将比较新的纯文本密码,使用相同的盐(和迭代次数)对其进行哈希处

  • 本文向大家介绍C#使用 Salt + Hash 来为密码加密,包括了C#使用 Salt + Hash 来为密码加密的使用技巧和注意事项,需要的朋友参考一下 (一) 为什么要用哈希函数来加密密码 如果你需要保存密码(比如网站用户的密码),你要考虑如何保护这些密码数据,象下面那样直接将密码写入数据库中是极不安全的,因为任何可以打开数据库的人,都将可以直接看到这些密码。 解决的办法是将密码加密后再存储进

  • 我正在使用生成用户密码的强哈希值。我想登录用户,但不想通过网络以明文形式发送密码,如何检查密码是否正确(没有往返),因为它是加盐的? 我有一个客户端/服务器场景。客户端是台式计算机上的应用程序(不是网站,也不是超文本传输协议服务器)。 我怎样才能做到这一点?我只是走了这么远:我正在客户端上生成salt散列,从中形成一个mcf并将其发送到我的服务器。将mcf保存到数据库。我没有发送密码,只发送了实际

  • 我正在使用以下代码创建哈希密码和salt: 我正在数据库中存储HashedPassword和Salt。 现在我要验证用户登录时的密码: 这不起作用,我得到了一个完全不同的哈希密码,而不是存储在数据库中的密码。据我所知,您应该在用户登录时输入的密码之前预置salt,然后运行相同的哈希密码函数。上面不是等价于那个吗?