小编Maa*_*wes的帖子

如何在Java中获得IV解密?

我需要加密/解密用户名字段,我打算使用下面的代码:

public class Decrypter {
    Cipher dcipher;

    byte[] salt = new String("12345678").getBytes();
    int iterationCount = 1024;
    int keyStrength = 256;
    SecretKey key;
    byte[] iv;

    Decrypter(String passPhrase) throws Exception {
        SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
        KeySpec spec = new PBEKeySpec(passPhrase.toCharArray(), salt, iterationCount, keyStrength);
        SecretKey tmp = factory.generateSecret(spec);
        key = new SecretKeySpec(tmp.getEncoded(), "AES");
        dcipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    }

    public String encrypt(String data) throws Exception {
        dcipher.init(Cipher.ENCRYPT_MODE, key);
        AlgorithmParameters params = dcipher.getParameters();
        iv = params.getParameterSpec(IvParameterSpec.class).getIV();
        byte[] utf8EncryptedData = dcipher.doFinal(data.getBytes());
        String base64EncryptedData = new sun.misc.BASE64Encoder().encodeBuffer(utf8EncryptedData);

        System.out.println("IV …
Run Code Online (Sandbox Code Playgroud)

java encryption cryptography aes java-ee

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

如何限制加密文本的斜杠

我正在使用Rfc2898DeriveBytesC#加密文本

以下是我的代码

  private static string Encrypt(string clearText)
    {
        string EncryptionKey = "MAKV2SPBNI99212";
        byte[] clearBytes = Encoding.Unicode.GetBytes(clearText);
        using (Aes encryptor = Aes.Create())
        {
            Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
            encryptor.Key = pdb.GetBytes(32);
            encryptor.IV = pdb.GetBytes(16);
            using (MemoryStream ms = new MemoryStream())
            {
                using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write))
                {
                    cs.Write(clearBytes, 0, clearBytes.Length);
                    cs.Close();
                }
                clearText = Convert.ToBase64String(ms.ToArray());
            }
        }
        return clearText; …
Run Code Online (Sandbox Code Playgroud)

.net c# security cryptography

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

是否存在足够安全的散列算法来在没有盐的情况下散列密码?

例如,SHA-1是否足够安全,无需验证用户密码?

或者我们总是需要盐来预防攻击?

security encryption cryptography

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

JSSE 和 JCE 有什么区别?

JSSE 和 JCE 有什么区别。这两者都在广泛的情况下处理加密。我的问题可能不清楚。由于 JCE 提供了我们可以用来加密数据的加密,那么为什么我们需要将 JSSE 用于也提供加密的安全套接字?

java cryptography

0
推荐指数
2
解决办法
1153
查看次数

Oracle 上的 SHA-512

我想在 Oracle 12 上使用 SHA-512 加密一些数据。

例如,我想加密这个字符串:

230049008251111 
Run Code Online (Sandbox Code Playgroud)

对此:

DA9AA3ACDE64DB3297FF75FDE407DAF3DB7EFF0CDF987C6C16BAF28242997046997EBF5A2F6C4F7449A4936C6518A6FD24A3C0984E9C09BF19395175F1BE2B5F

这是根据我正在使用的sha512 生成器。在 Oracle 上这样做的最佳方法是什么?

谢谢

oracle hash cryptography sha512 oracle12c

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

使用比较器显示 ArrayList 时出现“错误:找不到符号”

我创建了一个名为的类SortByFarz,并尝试按升序对其进行排序,但出现以下错误,我不知道为什么:

  error: cannot find symbol

  Collections.sort(a1, new SortByFarz());
                           ^
  symbol:   class SortByFarz
  location: class Salaat
Run Code Online (Sandbox Code Playgroud)

代码:

  error: cannot find symbol

  Collections.sort(a1, new SortByFarz());
                           ^
  symbol:   class SortByFarz
  location: class Salaat
Run Code Online (Sandbox Code Playgroud)

请注意,这些类都在同一个Salaat.java文件中。

java arraylist comparator

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

Java中的ECC加解密

我们可以使用 ECC 加密大文件吗?或者就像 RSA 只适用于小文件一样?任何人都可以推荐一个用于 ECC Java 实现的好网站吗?

谢谢

java encryption public-key-encryption

-1
推荐指数
1
解决办法
2万
查看次数

如何计算字符串中的分隔符?

我有一个问题......有点基本但我想我可以从你们那里得到一些帮助

我正在加密一个文件,我加密的信息是

LoginTxtBox.Text + "/" + PwdTxtBox.Text + "/" + InstNameTextBox.Text + "/" + DBNameTxtBox.Text;
Run Code Online (Sandbox Code Playgroud)

当我解密它时......我正在做:

StringBuilder sClearText = new StringBuilder();
encryptor.Decrypt(sPrivateKeyFile, sDataFile, sClearText);

//username/password
string s = sClearText.ToString();
string[] split = s.Split(new Char[] { '/' });
if (split.Length == 4)
{
    split0 = split[0];
    split1 = split[1];
    split2 = split[1];
    split3 = split[1];
Run Code Online (Sandbox Code Playgroud)

现在我得到的要求是我需要计算字符串解密格式中的分隔符,如果分隔符超过 2 个,那么它不是一个新应用程序。如果只有一个分隔符,那么它是一个从未使用过的应用程序。我不知道如何计算解密字符串中的分隔符...请帮帮我

c#

-3
推荐指数
1
解决办法
6371
查看次数

Java 椭圆曲线

我必须用 Java 编写一个程序来比较 3 种不同的非对称密码算法。我想选择密钥大小和消息大小(将随机生成),并且我想显示每种算法使用相同维度的密钥加密相同文本所需的不同时间。

我想比较 RSA、DSA 和 ECIES。前两个不会造成任何问题,但最后一个我不知道该怎么办。

主要问题是:

  1. 哪种椭圆曲线可以安全使用?
  2. 我可以对不同的密钥大小使用相同的曲线吗?
  3. 我怎样才能Cipher在Java中创建一个使用的"ECIES",它似乎不存在?

java encryption elliptic-curve

-3
推荐指数
1
解决办法
4197
查看次数