标签: encryption

散列敏感数据

我需要扰乱我们拥有的UAT数据库中所有用户的名称和登录.(因为数据保护法)

然而,有一个问题.

测试人员仍然需要能够使用散列登录名登录

因此,如果用户登录是"Jesse.J.James",那么散列应该是类似的

Ypois.X.Qasdf

即大致相同的长度,点在同一个地方

所以MD5,sha1等不合适,因为它们会创建非常长的字符串,并且还会添加自己的特殊字符,例如+和=,这是验证正则表达式所不允许的.

所以我正在寻找一些如何实现这一目标的建议

我想我需要自己进行散列算法

有人做过类似的事吗?

我正在使用c#,但我想这对算法来说并不那么重要

非常感谢

添加 -

感谢所有的答案.我认为当不需要做的事情时,我使用"哈希"这个词来解决混淆

c# encryption hash

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

AES加密,示例代码

如何在GUID上执行AES加密?

在客户端计算机上,我们将存储GUID及其公钥,我们的内部服务器将具有私钥及其guid.

这是生成AES加密的所有必要输入吗?

encryption aes

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

如何使用rsa privatekey解密数据

我正在使用JAVA我的朋友使用SYMBIAN

我和我的朋友有相同的rsa模数.如果我使用公钥加密数据,那么我的朋友能够解密相同的数据.但如果我的朋友使用公钥加密数据,那么我无法解密数据.我收到一个错误,因为"数据必须从零开始"

public static byte[] encrypt(byte[] encrptdByte) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
    byte[] encryptionByte = null;
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.ENCRYPT_MODE, publicKey);
    encryptionByte = cipher.doFinal(encrptdByte);
    return encryptionByte;
}

public static void decrypt(byte[] encrptdByte) throws NoSuchAlgorithmException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InvalidKeyException {
    byte[] encryptionByte = null;
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.DECRYPT_MODE, publicKey);
    encryptionByte = cipher.doFinal(encrptdByte);

    System.out.println("Recovered String     :::  " + new String(encryptionByte));
}
Run Code Online (Sandbox Code Playgroud)

谢谢Sunil

java encryption rsa

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

c#加密代码

我想加密硬盘,主板等的serail数量.你能建议一些好的加密数学方程吗?

c# encryption

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

这两行代码有何不同?

有人可以用非常慢的术语告诉我这两行PHP之间的区别吗?

$hassh =  base64_encode(sha1($word));

$hassh =  hash(’sha1?, $word);
Run Code Online (Sandbox Code Playgroud)

php encryption hash

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

什么加密生成这种类型的文本?

我正在尝试解码由Yahoo Messenger生成的DAT文件,该文件看起来类似于我通过在记事本中打开exe生成的下面的文本:

‹
‹N€9 tè…ÀtäÿFöt‹FŠ ‹V‹NˆÿFÿNëÿFH‰F3À9Ft9Ft  ö…³   ;Øtsj÷ël;Øt%‹F‹N¶Dÿj Pÿ5@aÐMè5  …À„þÿÿ…Ûuƒ} tÇEø   jEPÿvÿvÿuøÿ5DaÐMÿÐM…Àu,ÿÐM=Y  tjðë…ÛtjöXë<3Àf‹F,ÇF.   ‰Eë‹E‹N…Étÿv2PÿÑëƒ~$ t
‹N(f‰ƒF(ÿF 3À‰F_[É ÌÌÌÌ̃ù
u<r<Ÿ
Run Code Online (Sandbox Code Playgroud)

我曾尝试一些在线工具,有一个像吹鱼,DES各种加密算法,MD5 1路和其他正常的加密像莱特说,腐烂-13等,但我发现生成的文本是正常的可读性,但不是原来的一个.我认为它的AES或RSA或Triple DES.实际上我正在研究一个实用程序,它将读取本地的Yahoo Messengers存档.但是当我打开本地时,我发现了一个DAT文件,上面有加密文本.

(UPDATE)

根据venkyduded文章"雅虎使用简单的XOR算法对消息进行编码(以确保安全性!)".关于XOR逆转的任何良好链接.

任何帮助将受到高度赞赏.

.net c# encryption yahoo-messenger

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

PHP.net是否是"任何"PHP引用的可靠资源?

修改我的"问题",以免惹恼当地人.

现在互联网上似乎有这么多资源(包括SO),找到问题的"答案"可能很容易,但如何判断答案是否有效甚至是最新的?

特别是一个领域和一个被问到很多的领域是如何使用PHP正确处理散列和加密,以便在数据库存储中做好准备.关于SO的一个常见答案似乎总是"你有没有访问过php.net?".虽然我理解这通常会出现一个问题,其中有人问最简单的问题,但我已经开始发现一些描述似乎有冲突,更重要的是,用户示例已经过时(很多来自2008-2009).

例如:在寻找为什么以及如何使用密码哈希时:http://www.php.net/manual/en/faq.passwords.php#faq.passwords.fasthash

总之,我了解到sha1和md5是快速且计算效率高的哈希方法,它们不再适用于密码哈希.建议的方法是使用crypt()函数.

在了解有关crypt()以及特别是河豚哈希的更多信息时,页面上列出的规则如下:

http://www.php.net/manual/en/function.crypt.php

  • 以$ 2a $开始我的盐
  • 继续使用两个数值(下面的用户已经说明了这个的重要性,而php.net没有)
  • 跟着$
  • 输入22个字母数字字符

进一步阅读给出了一个例子:

<?php

    if (CRYPT_BLOWFISH == 1) {
        echo 'Blowfish:     ' . crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$') . "\n";

    }
?>
Run Code Online (Sandbox Code Playgroud)

似乎同一页面上的示例不遵循它刚刚告诉我们使用的规则("$ 2a $ 07 $"之后的26个字符.

回报是:

河豚:
$ 2a $ 07 $ usesomesillystringfore2uDLvp1Ii2e ./ U9C8sBjqp8I90dH6hi

实际上,字符串本身确实会被改变,但几乎我的整个SALT值(上面提到的前22个字符)都是敞开的.难道这不会让我更简单地确定我的实际字符串是什么吗?

更重要的是,这只是一个例子,但最终,依赖PHP.net等资源应该有多大?

正如我的朋友Mugatu曾经说过"我觉得我正在服用疯狂的药片".

注意:上面提到的页面是自我原始发布以来编辑的,所以我无法保证自从我的原始问题和示例提供后事情没有改变.

php encryption md5 crypt blowfish

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

将mysql中的sha1密码显示为纯文本

可能重复:
将SHA1转换为普通表单

如何在页面上以纯文本显示以sha1格式存储的密码?

本质上如何解密从sha1到纯文本的密码?

谢谢,

php encryption passwords sha1

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

如何将 rijndaelManaged 函数从 C# 重写为 Go?

我可能犯了一个我看不到的小错误。也许其他人看看这个可以找出我做错了什么。

这是C#我试图重写的函数Go,目标是在调用函数时输出相同的值。

public static string NewEncrypt(string Input)
{
    RijndaelManaged rijndaelManaged = new RijndaelManaged();
    rijndaelManaged.KeySize = 256;
    rijndaelManaged.BlockSize = 256;
    rijndaelManaged.Padding = PaddingMode.PKCS7;
    rijndaelManaged.Key = Convert.FromBase64String(Convert.ToBase64String(Encoding.UTF8.GetBytes("095fc90fe8b18e8f243e4b07a9c0d170")));
    rijndaelManaged.IV = Convert.FromBase64String(Convert.ToBase64String(Encoding.UTF8.GetBytes("8bef55a546d27958ead1fdddba4d36ea")));
    ICryptoTransform transform = rijndaelManaged.CreateEncryptor(rijndaelManaged.Key, rijndaelManaged.IV);
    byte[] myArray = null;
    using (MemoryStream memoryStream = new MemoryStream())
    {
        using (CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write))
        {
            byte[] bytes = Encoding.UTF8.GetBytes(Input);
            cryptoStream.Write(bytes, 0, bytes.Length);
        }
        myArray = memoryStream.ToArray();
    }
    return Convert.ToBase64String(myArray);
}
Run Code Online (Sandbox Code Playgroud)

您可以使用以下方式调用它:

NewEncrypt("{\"randJsonList\":[ \"abc\" ], \"name\":\"baron\", \"support\":\"king\"}")
Run Code Online (Sandbox Code Playgroud)

我们有这个返回输出(myArray):

DdSUyoYRYW/zDNSVaA1JZ39WqJt06qp0FiJUlCW5BbZWEt41GzsmtgVnGZuHigZNs7qKhI+kHAKMXL8EPnK1vg== …
Run Code Online (Sandbox Code Playgroud)

c# encryption go

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

解密java中使用openssl加密的文件

使用以下命令对文件进行加密:

openssl enc -aes-256-cbc -in file.txt -out file_enc.txt -k 1234567812345678
Run Code Online (Sandbox Code Playgroud)

使用以下命令解密该文件:

openssl enc -d -aes-256-cbc -in file_enc.txt -out file.txt -k 1234567812345678
Run Code Online (Sandbox Code Playgroud)

在java中打印盐和密钥后我得到:

密钥=b796fbb416732ce13d39dbb60c0fb234a8f6d70e49df1c7e62e55e81d33a6bff774254ac99268856bf3afe0b95defdad

在 cmd 中我得到:

盐=2D7C7E1C84BD6693密钥=B796FBB416732CE13D39DBB60C0FB234A8F6D70E49DF1C7E62E55E81D33A6BFF

=774254AC99268856BF3AFE0B95DEFDAD

运行后:

openssl enc -aes-256-cbc -in file.txt -out file_enc.txt -pbkdf2 -k 1234567812345678 -p

我正在使用以下代码,但正在打印加密文件:

public static void main(String args[]) throws InvalidKeySpecException,
                                              NoSuchAlgorithmException,
                                              IllegalBlockSizeException,
                                              InvalidKeyException,
                                              BadPaddingException,
                                              InvalidAlgorithmParameterException,
                                              NoSuchPaddingException,
                                              IOException {
    String password = "1234567812345678";
    String algorithm = "AES/CBC/PKCS5Padding";
    IvParameterSpec ivParameterSpec = AESUtil.generateIv();
    Resource resource = new ClassPathResource("file_enc.txt");
    File inputFile = resource.getFile();
    byte[] salt = …
Run Code Online (Sandbox Code Playgroud)

java encryption openssl jca

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

标签 统计

encryption ×10

c# ×4

php ×3

hash ×2

java ×2

.net ×1

aes ×1

blowfish ×1

crypt ×1

go ×1

jca ×1

md5 ×1

openssl ×1

passwords ×1

rsa ×1

sha1 ×1

yahoo-messenger ×1