【问题标题】:java android URL encryptingjava android URL加密
【发布时间】:2011-04-24 21:30:36
【问题描述】:

我正在开发一个将文件上传到 amazon s3(应用程序的一部分)的应用程序。但是当我生成文件的 URL 时,它会显示身份验证密钥、文件名等。我需要对 URL 进行加密。我也使用小 url 来缩短 URL,但是当我将光标放在链接上时,它会显示真实的 URL。我寻找 md5 但我无法让它工作。有什么建议吗?

【问题讨论】:

  • 你已经在尝试解决问题,让我们回到几步,你试图解决的根本问题是什么?为什么没人能看到真实的 URL?
  • 没关系,刚看到帖子2年多了。

标签: java android url encryption


【解决方案1】:

我将尝试解释 MD5 的工作原理

import java.math.*;
import java.security.*;

public class testMain {

    /**
     * @param args
     */
    public static void main(String[] args) {

        String stringThatNeedsToBeEncrpyted = "yourURL"; // Value to encrypt
        MessageDigest mdEnc = null;
        try {
            mdEnc = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } // Encryption algorithm
        mdEnc.update(stringThatNeedsToBeEncrpyted.getBytes(), 0, stringThatNeedsToBeEncrpyted.length());
        String md5 = new BigInteger(1, mdEnc.digest()).toString(16); //Make the Encrypted string
        System.out.println(md5); //print the string in the console

    }   
}

输出为:7f5976785d03c60f9fd4b08fb78e72ce

这是您的消息摘要。

编辑

应始终使用适当的哈希算法(如 PBKDF2、bcrypt 或 scrypt)对用户名和密码进行哈希处理。此外,始终使用 SSL 传输机密数据。

【讨论】:

  • 但我怎样才能将此输出用作 URL?
  • 那么您可以做的不是完全散列您的算法,只需散列密码和用户名(最好是加盐)并添加到您的网址中的 GET 中?
猜你喜欢
  • 2010-09-12
  • 2017-05-31
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多