小编Som*_*ser的帖子

Rijndael初始化向量,16字节

我必须将信用卡号加密并作为字符串存储在数据库中.我做了以下事情

RijndaelManaged rijMan = new RijndaelManaged();
byte[] encrypt = Encrypt(txtCredit.Text, rijMan.Key, rijMan.IV);
string card = Convert.ToBase64String(encrypt);
string key = Convert.ToBase64String(rijMan.Key);
string iv = Convert.ToBase64String(rijMan.IV);
Run Code Online (Sandbox Code Playgroud)

这是加密功能:

public static byte[] Encrypt(string message, byte[] key, byte[] iv)
{
    byte[] encrypted;
    using (RijndaelManaged rijMan = new RijndaelManaged())
    {
        rijMan.Key = key;
        rijMan.IV = iv;
        ICryptoTransform encrypt = rijMan.CreateEncryptor(rijMan.Key, rijMan.IV);
        using (MemoryStream ms = new MemoryStream())
        {
            using (CryptoStream cs = new CryptoStream(ms, encrypt, CryptoStreamMode.Write))
            {
                using (StreamWriter sw = new StreamWriter(cs))
                {
                    sw.Write(message);
                } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net cryptography rijndael

1
推荐指数
1
解决办法
2008
查看次数

HashMap与值不匹配

我有一个按钮的哈希映射到矩阵中的对应点.例如,在3X3矩阵中,btn0为(0,0),依此类推.该点是一个带有2个坐标变量的int类.我的Hashmap如下所示:

public final static HashMap<Button, Point> buttonPoint = new HashMap<Button, Point>();
buttonPoint.put(btn0, new Point(0,0));
buttonPoint.put(btn1, new Point(0,1));
buttonPoint.put(btn2, new Point(0,2));
buttonPoint.put(btn3, new Point(1,0));
...
Run Code Online (Sandbox Code Playgroud)

我进行了一些计算,得出了一个说法(1,0).现在我想从这些坐标中获取按钮.我做以下事情:

Button selectedButton = null;
    for(java.util.Map.Entry<Button, Point> entry : buttonPoint.entrySet()){
    if(Objects.equals(selectedPoint, entry.getValue())){
        selectedButton=entry.getKey();
    }
    }
Run Code Online (Sandbox Code Playgroud)

但是selectedButton仍然是null.我调试了代码,我发现迭代中某些点的值是相等的,但if条件永远不会变为真.关于Hashmaps有什么我想念的吗?或者还有其他方法吗?解决方案的任何链接或方向都会有所帮助.提前致谢.

java android hashmap

0
推荐指数
1
解决办法
108
查看次数

标签 统计

android ×1

asp.net ×1

c# ×1

cryptography ×1

hashmap ×1

java ×1

rijndael ×1