Java 是否有模拟C';什么是密码功能?

Java 是否有模拟C';什么是密码功能?,java,c,encryption,cryptography,crypt,Java,C,Encryption,Cryptography,Crypt,我试图创建一个密码破解,加密可能的密码,并将它们与假用户密码进行比较。要做到这一点,我需要使用crypt函数*,如果我使用的是c,这将很容易,但我使用的是java。有没有同等的选择?如果是,我可以在哪里下载 *在你告诉我这不安全之前,我知道。我把它用于实验室,而不是实际的验证系统。我假设您正在使用这个密码功能(http://www.gnu.org/software/libc/manual/html_node/crypt.html) 首先,如果您需要编写完全等效的代码,则需要了解该函数的内部工作原

我试图创建一个密码破解,加密可能的密码,并将它们与假用户密码进行比较。要做到这一点,我需要使用crypt函数*,如果我使用的是c,这将很容易,但我使用的是java。有没有同等的选择?如果是,我可以在哪里下载


*在你告诉我这不安全之前,我知道。我把它用于实验室,而不是实际的验证系统。

我假设您正在使用这个密码功能(http://www.gnu.org/software/libc/manual/html_node/crypt.html)

首先,如果您需要编写完全等效的代码,则需要了解该函数的内部工作原理

下面是DES加密的示例(crypt使用):

以下是MD5哈希的示例(可由crypt使用):

我假设您正在使用这个crypt函数(http://www.gnu.org/software/libc/manual/html_node/crypt.html)

首先,如果您需要编写完全等效的代码,则需要了解该函数的内部工作原理

下面是DES加密的示例(crypt使用):

以下是MD5哈希的示例(可由crypt使用):

假设您正在谈论glibc2中可用的版本,它支持的不仅仅是DES加密:不仅是加密,还支持加密摘要

理论上,您可以研究
crypt()
的实现细节,以模拟其在Java中的行为。加密通常使用类来完成,摘要将使用类来完成。您会发现,Oracle/OpenJDK JRE(可能还有其他)提供了所需的算法

要准确掌握细节,可能需要进行一些调查(例如,找出盐是如何使用的)


您还可以直接使用该类,该类专门用于与GNU libc crypt(3)兼容。

假设您讨论的是glibc2中可用的版本,它支持的不仅仅是DES加密:不仅是加密,还支持加密摘要

理论上,您可以研究
crypt()
的实现细节,以模拟其在Java中的行为。加密通常使用类来完成,摘要将使用类来完成。您会发现,Oracle/OpenJDK JRE(可能还有其他)提供了所需的算法

要准确掌握细节,可能需要进行一些调查(例如,找出盐是如何使用的)


您还可以直接使用该类,该类专门用于与GNU libc crypt(3)兼容。

您可以始终将Java中的C/C++与JNI一起使用。从,
crypt()
生成基于MD5或DES的哈希。这两种算法都可以在Java的加密库中使用,因此只需重写其余的函数即可。Google“Java crypt实现”。PS high performance crypto是使用本机的好理由。与本机实现相比,Java与加密技术相比并没有那么快,特别是当本机实现使用向量指令或GPU资源时。您可以始终将Java中的C/C++与JNI一起使用。从,
crypt()
生成基于MD5或DES的哈希。这两种算法都可以在Java的加密库中使用,因此只需重写其余的函数即可。Google“Java crypt实现”。PS high performance crypto是使用本机的好理由。与本机实现相比,Java与加密相比并没有那么快,特别是当本机实现使用向量指令或GPU资源时。@owlstead,我想Apache Commons类可能是一个很好的起点,不是吗?嗯,是的,这可能是最好的方法。错过了那个。@owlstead,我想apachecommons类可能是一个很好的起点,不是吗?嗯,是的,这可能是最好的方法。错过了那个。