.net iSeries(AS/400)数据库文件:密码加密

.net iSeries(AS/400)数据库文件:密码加密,.net,encryption,cryptography,passwords,ibm-midrange,.net,Encryption,Cryptography,Passwords,Ibm Midrange,我正在帮助一个项目,在这个项目中,iSeries上的一个旧软件系统正在应用一个全新的.NETUI。一切进展顺利。。。除了 为了允许用户登录并保持与现有软件安装的兼容性,我们需要弄清楚以前的供应商在没有访问其源代码的情况下使用了什么加密/哈希方法 我有一个ID和密码列的文件。密码列似乎每个记录只包含16个字符,全部为二进制 以前的供应商系统的一部分是用400上的本机绿色屏幕编写的,另一部分是用Microsoft ASP.Net编写的 什么类型的加密或哈希: 由AS/400或iSeries绿色屏幕应

我正在帮助一个项目,在这个项目中,iSeries上的一个旧软件系统正在应用一个全新的.NETUI。一切进展顺利。。。除了

为了允许用户登录并保持与现有软件安装的兼容性,我们需要弄清楚以前的供应商在没有访问其源代码的情况下使用了什么加密/哈希方法

我有一个ID和密码列的文件。密码列似乎每个记录只包含16个字符,全部为二进制

以前的供应商系统的一部分是用400上的本机绿色屏幕编写的,另一部分是用Microsoft ASP.Net编写的

什么类型的加密或哈希:

  • 由AS/400或iSeries绿色屏幕应用程序使用,以及
  • 由Microsoft.NET应用程序使用,以及
  • 输出一致的16个二进制字节,与输入长度无关

  • 非常感谢你的指点。谢谢

    有许多内置和第三方加密方案用于i。最好的办法是找到供应商在其应用程序中使用的API,或者直接询问他们。一个设计良好的应用程序将在一个位置上拥有该登录代码


    注意:我已经与足够多的供应商打过交道,我想说的就像是要求您将埃菲尔铁塔向左移动2英寸。

    有许多内置和第三方加密方案用于I。最好的办法是找到供应商在其应用程序中使用的API,或者直接询问他们。一个设计良好的应用程序将在一个位置上拥有该登录代码


    注意:我已经与足够多的供应商打过交道,我所说的就像是要求您将埃菲尔铁塔向左移动2英寸。

    第一个调用端口是旧系统的系统手册。之后联系供应商,假设您支付了支持费用(您确实支付了支持费用,不是吗),让他们的技术支持人员回答您的问题

    如果这还不能使你取得任何进展,你必须开始挖掘。16个字符是128位,所以可能有128位的散列。最有可能是MD5,特别是如果原始代码是从1991年到1996年

    接下来,在对密码进行哈希运算之前,您需要确定它是否向密码中添加了盐。在旧系统上使用不同用户名和相同密码创建两个新用户帐户。说出“user1/密码”和“user2/密码”。现在查看密码文件并找到两个新条目。如果这两个哈希相同,则不使用salt,并且您可能有一个简单的密码哈希。如果没有,请尝试用户名和密码简单组合的MD5哈希:

    用户1密码
    passworduser1
    用户1:密码
    密码:user1
    等等

    如果其中一个有效,那么您已经解决了它。如果没有,那么你将花费很长时间来构建彩虹表和其他各种密码分析的东西


    如果真是这样的话,在你的网络上安装一个网络嗅探器可能会更容易,因为它会访问旧系统,这样你就可以在用户被散列之前读取他们的密码。要获得更多的确定性,请在记录密码之前,检查以另一种方式返回的“Your logged corrective”(您已正确登录)消息。他们可能只是在错误的时间输入错误。

    第一个调用端口是旧系统的系统手册。之后联系供应商,假设您支付了支持费用(您确实支付了支持费用,不是吗),让他们的技术支持人员回答您的问题

    如果这还不能使你取得任何进展,你必须开始挖掘。16个字符是128位,所以可能有128位的散列。最有可能是MD5,特别是如果原始代码是从1991年到1996年

    接下来,在对密码进行哈希运算之前,您需要确定它是否向密码中添加了盐。在旧系统上使用不同用户名和相同密码创建两个新用户帐户。说出“user1/密码”和“user2/密码”。现在查看密码文件并找到两个新条目。如果这两个哈希相同,则不使用salt,并且您可能有一个简单的密码哈希。如果没有,请尝试用户名和密码简单组合的MD5哈希:

    用户1密码
    passworduser1
    用户1:密码
    密码:user1
    等等

    如果其中一个有效,那么您已经解决了它。如果没有,那么你将花费很长时间来构建彩虹表和其他各种密码分析的东西

    如果真是这样的话,在你的网络上安装一个网络嗅探器可能会更容易,因为它会访问旧系统,这样你就可以在用户被散列之前读取他们的密码。要获得更多的确定性,请在记录密码之前,检查以另一种方式返回的“Your logged corrective”(您已正确登录)消息。他们可能只是在错误的时间打错了