从密钥中获取字符串?

时间:2010-07-22 16:28:54

标签: google-app-engine

我正在创建一个这样的编码密钥:

public static String generateKey(String username) {
    return KeyFactory.keyToString(
        KeyFactory.createKey(User.class.getSimpleName(), username));
}

是否可以分解密钥以获取原始用户名?

String encoded = generateKey("bob");
String decoded = KeyFactory.decodeKey(encoded);
// decoded = "bob".

由于

---------编辑:我如何存储密钥-------------------------

@PrimaryKey 
@Extension(vendorName = "datanucleus", key = "gae.encoded-pk", value="true") 
private String mKey;

1 个答案:

答案 0 :(得分:0)

尝试提取一个可能不是一个好主意,即使当前返回的密钥看起来是可逆的。来自KeyFactory documentation

  

客户不应该做任何事   关于这个回报值的假设,   除了它是一个网络安全字符串   这不需要引用   用于HTML或URL。