Blackberry 使用SHA1算法加密用户凭据

Blackberry 使用SHA1算法加密用户凭据,blackberry,encryption,sha1,Blackberry,Encryption,Sha1,我正在创建一个blackberry应用程序,它将请求发送到服务器。因此,需要对用户进行身份验证。为此,我想在blackberry中使用SHA1加密用户ID和密码。然后,使用用户ID和密码上的SHA1算法生成的加密数据被传递到服务器 我的问题是如何实现这一点。有人能给出在blackberry中实现此功能的示例代码吗 SHA1不是加密算法。它是散列函数 如果您谈论的是基本身份验证,那么您需要使用Base64算法对用户名和密码进行散列 这里讨论了有关此问题的主题:SHA1不是加密算法。它是散列函数

我正在创建一个blackberry应用程序,它将请求发送到服务器。因此,需要对用户进行身份验证。为此,我想在blackberry中使用SHA1加密用户ID和密码。然后,使用用户ID和密码上的SHA1算法生成的加密数据被传递到服务器


我的问题是如何实现这一点。有人能给出在blackberry中实现此功能的示例代码吗

SHA1不是加密算法。它是散列函数

如果您谈论的是基本身份验证,那么您需要使用Base64算法对用户名和密码进行散列


这里讨论了有关此问题的主题:

SHA1不是加密算法。它是散列函数

如果您谈论的是基本身份验证,那么您需要使用Base64算法对用户名和密码进行散列

下面是关于这个问题的讨论主题:

添加这个类

public class Sha1 {

private static String convertToHex(byte[] data) {
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < data.length; i++) {
        int halfbyte = (data[i] >>> 4) & 0x0F;
        int two_halfs = 0;
        do {
            if ((0 <= halfbyte) && (halfbyte <= 9))
                buf.append((char) ('0' + halfbyte));
            else
                buf.append((char) ('a' + (halfbyte - 10)));
            halfbyte = data[i] & 0x0F;
        } while (two_halfs++ < 1);
    }
    return buf.toString();
}

public static String SHA1(String text) {
    SHA1Digest sha1Digest = new SHA1Digest();
    sha1Digest.update(text.getBytes(), 0, text.length());
    byte[] hashValBytes = new byte[sha1Digest.getDigestLength()];
    hashValBytes = sha1Digest.getDigest();
    return convertToHex(hashValBytes);
}
}
添加这个类

public class Sha1 {

private static String convertToHex(byte[] data) {
    StringBuffer buf = new StringBuffer();
    for (int i = 0; i < data.length; i++) {
        int halfbyte = (data[i] >>> 4) & 0x0F;
        int two_halfs = 0;
        do {
            if ((0 <= halfbyte) && (halfbyte <= 9))
                buf.append((char) ('0' + halfbyte));
            else
                buf.append((char) ('a' + (halfbyte - 10)));
            halfbyte = data[i] & 0x0F;
        } while (two_halfs++ < 1);
    }
    return buf.toString();
}

public static String SHA1(String text) {
    SHA1Digest sha1Digest = new SHA1Digest();
    sha1Digest.update(text.getBytes(), 0, text.length());
    byte[] hashValBytes = new byte[sha1Digest.getDigestLength()];
    hashValBytes = sha1Digest.getDigest();
    return convertToHex(hashValBytes);
}
}

SHA1是一个散列函数。你不能用它“加密”。请不要试图自己发明加密协议。Use SSL.SHA1是一个哈希函数。你不能用它“加密”。请不要试图自己发明加密协议。使用SSL。很抱歉使用了错误的单词,我会更正它。所以我不需要加密的字符串,而是哈希值,我可以对它进行编码。。。那么我该怎么做呢..请为示例Use类提供一些示例代码。还有一个。很抱歉用错了词,我会改正的。所以我不需要加密的字符串,而是哈希值,我可以对它进行编码。。。那么我该怎么做呢..请为示例Use类提供一些示例代码。还有一个问题。