Tag: 密码

如何通过JNDI检索LDAP密码

我能够通过JNDI读取存储在LDAP中的密码。 但结果是一些胡言乱语的人物。 那我该怎么解密呢? 以下是我的代码: public static void main(String[] args) { String INITCTX = “com.sun.jndi.ldap.LdapCtxFactory”; String MY_HOST = “ldap://KhooGP-Comp1:1389”; String MGR_DN = “cn=Directory Manager”; String MGR_PW = “password”; String MY_SEARCHBASE = “dc=QuizPortal”; String MY_FILTER = “uid=yiwei”; String MY_ATTRS[] = {“cn”, “uid”, “sn”, “userpassword”}; //Identify service provider to use Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, INITCTX); env.put(Context.PROVIDER_URL, […]

你能用PHP获得相同的Java SHA-1吗?

我发现自己需要将网站平台从Java更改为PHP,但我想保留所有用户的密码…… 在将散列值作为网站密码写入之前,我有这段代码做密码散列: MessageDigest md = null; md = MessageDigest.getInstance(“SHA”); md.update(plaintext.getBytes(“UTF-8”)); byte raw[] = md.digest(); hash = new Base64().encodeToString(raw).replaceAll(“\n”, “”).replaceAll(“\r”, “”); 我认为Java代码对密码进行了SHA-1散列,但在此之前,它是字节编码为UTF-8,之后是Base64编码。 我想让一个PHP代码做同样的事情,即为与Java相同的密码返回相同的哈希值,只是看起来我做的SHA-1哈希的PHP代码不会返回相同的SHA (-1,而不是Base64编码,我认为?)与哈希的Java Base64解码值相比时的值……这可能与我在PHP中的密码首先不是UTF-8字节编码这一事实有关(我怎么能用PHP做到这一点? PS 另一个奇怪的事情……我在Java中的密码长度都是28个字符(通常类似于这个rnwn4zTNgH30l4pP8V05lRVGmF4= )……但这些密码哈希值的Base64().decode(hash)值是10个字符长(例如[B@14e1f2b )。 我认为Base64为每3个章程做了额外的1个字符(28或27,不包括padding = charter,比那些10个字符大三分之一)所以我在做某些解码调用错误可能??? 最重要的是,PHP中的SHA-1密码散列值是40个字符长(在UTF-8 mysql数据库中),如dd94709528bb1c83d08f3088d4043f4742891f4f ?

如何检查PDF是否受密码保护

我正在尝试使用iText的PdfReader来检查给定的PDF文件是否受密码保护,但是我得到了这个例外: 线程“主线程”中的exceptionjava.lang.NoClassDefFoundError:org / bouncycastle / asn1 / ASN1OctetString 但是,当针对非密码保护的文件测试相同的代码时,它运行正常。 这是完整的代码: try { PdfReader pdf = new PdfReader(“C:\\abc.pdf”); } catch (IOException e) { e.printStackTrace(); }

密码散列与Java和PHP兼容

是否有一个安全的密码散列库(例如phpass)或散列方法,我可以在PHP和Java中轻松使用?

如何使用zip4j提取带密码保护的zip文件

我试图解压缩密码保护的zipfile。 我知道有一个名为“zip4j”的java库可以帮助我。 但是我没有打开zip4j网站来查看教程。 我用另一个镜像下载了zip4j库,但我不知道如何使用它。 是否有人可以粘贴使用zip4j解压缩密码保护zip文件的示例代码? zip4j网站 非常感谢!

如何在不使用System.console()的情况下从控制台读取密码?

我点击了这个eclipse错误 ,其中System.console()不适用于Java应用程序启动。 我有一个小型Java应用程序,它还需要输入一个只能在IDE中启动的密码。 有没有其他方法可以从控制台安全地读取密码(意味着不在控制台上显示)只使用JDK类? 编辑: 我知道System.in ,但是在控制台中显示输入的字符,因此不安全。 EDIT2: 我还想注意,可以在windows下创建一个批处理文件,或者在项目中的linux / unix下创建一个小的bash脚本。 通过使用系统默认编辑器在eclipse中打开此文件,它将在System.console()可用的新控制台窗口中启动。 这样你就可以在eclipse中启动应用程序。 但是必须首先构建项目,以便存在二进制文件。

在创建帐户时,如何在内存中安全地存储密码?

我们的基于Web的应用程序使用帐户创建期间指定的密码将用户帐户绑定到用户。 在Java的情况下,在将哈希值保存在数据库中之前,如何安全地处理密码。 更具体地说,如何确保持有密码的字符串在足够短的时间间隔内被垃圾收集?

Java密码生成器

我正在尝试创建一个创建密码的java程序,可以是全部小写,小写和大写,小写和大写以及数字,小写和大写以及数字和标点符号,程序还必须创建用户选择的密码之一并且必须根据用户选择的内容生成密码长度。 我已经为用户选择了密码选项,并提示他选择一个。 我现在仍然坚持如何创建上面提到的密码类型。 一个人建议我使用ASCII值,然后将它们转换为文本。 我知道如何将它们转换为文本,但它会显示数字,字母和标点符号。 有什么办法可以只为小写字母生成ASCII值吗? 另外,我如何根据用户提供的密码生成密码?

使用什么API和算法来使用java加密和解密密码

我目前正在使用Java创建应用程序,我使用java搜索密码加密,但结果是如此巨大,我感到不堪重负。 如何使用Java加密和解密密码? 加密和解密密码的最佳做法是什么? 我猜测MD5不是一种方法,因为它是一种单向哈希。 我使用struts2作为我的框架,想知道他们是否提供密码加密

在Java Web应用程序中存储密码变量的不同方法?

我已经实现了一个例程,当用户提交表单时,会向管理员发送电子邮件。 为此,我使用了Java Mail API。 我在Microsoft Outlook上设置了一个虚拟帐户,用于发送电子邮件。 在代码中我硬编码了密码。 我担心当我托管网页时这将是一个安全问题。 这是我的代码。 我写了一个私函数: private void getSession(){ this.session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(“xxxxxxxxx@outlook.com”, “xxxxx_password_xxx”); } }); } 在我的public execute()方法中,我调用getSession()方法并生成消息。 public String execute() throws Exception { getSession(); Message message = new MimeMessage(this.session); message.setFrom(new InternetAddress(“xxxxxxxxxxxxx@outlook.com”)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(“admins.email@xxxxx.com”)); message.setSubject(“Form submit notification”); //… } 在我托管网页时,在会话方法中对密码进行硬编码是否安全? 如果没有,那么一些指针来实现替代方案。 […]