cryptography相关内容

如何使用Rijndael加密或解密和256位的块大小?

由于某些原因,我需要使用256位的块大小来实现Rijndael de / compression,而不是使用块大小为128位的AES(原因:使用Rijndael ...在PHP中加密数据)。 如何更改密码的块大小? 如果我只是得到一个密码与“RIJNDAEL / CFB / PKCS5Padding”并尝试初始化一个256位的IV我得到一个异常,因为块大小只有128位。 解决方案 ..
发布时间:2017-01-16 09:49:13 Java开发

Java默认加密/ AES行为

有没有人知道默认的Java crypto行为是: SecretKeySpec localSecretKeySpec = new SecretKeySpec(arrayOfByte, ); Cipher localCipher = Cipher.getInstance(“AES”); 具体来说,我想了解这些类如何生成IV,以及什么是默认加密模式时,只需指定“AES”。感 ..
发布时间:2017-01-16 09:49:03 Java开发

java.util.Random和java.security.SecureRandom之间的差异

我的小组移交了一些生成随机令牌的服务器端代码(Java代码),我有一个问题 - 这些令牌的目的是相当敏感 - 用于会话ID,密码重置链接等。因此,他们需要加密随机,以避免有人猜测他们或暴力强制他们可行。 代码目前使用 java.util.Random 类来生成这些令牌。文档([ http://docs.oracle.com/ java.util.Random 清楚地说明了以下内容:ja ..
发布时间:2017-01-16 09:48:11 Java开发

无法使用PIP和setup.py安装Python加密软件包

当我尝试通过 pip install cryptography 安装Python的加密包时,通过从其网站下载程序包并运行 python setup.py ,我得到以下错误: D:\Anaconda\Scripts\ pip-script.py运行时间:02/27/14 16:13:17 下载/解压缩加密 获取页面https://pypi.python.org/simple/cryptog ..
发布时间:2017-01-16 09:47:59 Python

是否可能获得相同的SHA1散列?

给定两个不同的串S1和S2(S1!= S2)是可能的: SHA1(S1)= = SHA1(S2) 是True? 如果是 - 有什么概率? 如果没有 - 为什么不? 输入字符串的长度上有一个上限, ? OR是独立于字符串长度的SHA1的计算(因此重复的概率) 我试图实现的目标是散列一些敏感的ID字符串(可能与一些其他字段,如父ID连接 ..
发布时间:2017-01-16 09:47:48 开发方法

为什么使用C#类System.Random而不是System.Security.Cryptography.RandomNumberGenerator?

为什么有人使用系统中的“标准”随机数生成器.Random ,而不是总是使用来自 System.Security.Cryptography.RandomNumberGenerator (或其子类,因为RandomNumberGenerator是抽象的)? Nate Lawson在他的Google Tech Talk演示“加密攻击返回”在分钟13:11不使用“ 我知道两个版本的随机数生成器 ..
发布时间:2017-01-16 09:47:35 C#/.NET

如何生成软件许可证密钥?

许可密钥是作为反盗版措施的事实标准。老实说,这使我成为(in)Security Over Obscurity ,虽然我真的不知道如何生成许可证密钥。什么是许可证密钥生成的好(安全)示例?他们使用什么加密原语(如果有)?是消息摘要吗?如果是这样,他们会什么数据哈希?开发人员使用什么方法来使破解者难以构建自己的密钥生成器? 解决方案 对于老式CD密钥,这只是一个算法的问题, CD密钥(可以是任 ..
发布时间:2017-01-16 09:47:05 开发方法

RSA加密问题[有效载荷数据的大小]

是真的RSA加密只能处理有限的数据有效载荷? ... im与理论混淆...理论上没有关于这个...的注释。 解决方案 算法(没有填充),这是不安全的消息的大小被限制为小于模数。 为了增强RSA的安全性,你应该使用填充方案如PKCS1中所定义。根据您选择的方案,消息的大小可以显着小于模数。 http://en.wikipedia.org/wiki/PKCS1 ..
发布时间:2017-01-16 09:46:54 开发方法

在Swift中使用CCCrypt(CommonCrypt)发出问题

我正在移植一个工作的Objective-C类别(NSData + AESCrypt.m)到Swift,我发现一个问题使用的指针。 Swift中的加密部分的代码正确编译,但生成一个运行时EXEC_BAD_ACCES错误。 我到目前为止的代码是(我试图剖析代码,可能): let key =“123456789012345678901234567890120” let keyLength ..
发布时间:2017-01-16 09:46:42 移动开发

在JavaScript中保护随机数字?

如何在javascript中生成加密安全的随机数? 解决方案 您可以使用鼠标移动作为随机数字,读取时间和鼠标位置,每当onmousemove事件发生时,将数据馈送到美白功能,你将有一些头等舱随机在手。虽然确保用户在使用数据之前已充分移动鼠标。 编辑:我自己通过创建一个密码生成器,不能保证我的美白功能是完美的,但不断重新种植我很确定这是很大的工作:ebusiness.hopto.org ..
发布时间:2017-01-16 09:46:18 前端开发

为什么使用具有CBC模式的非随机IV是一个漏洞?

我明白IV的目的。特别是在CBC模式中,这保证用相同密钥加密的2个消息中的第一个块将永远不会相同。但是如果IV是顺序的,为什么它是一个漏洞?根据 CWE-329 非随机IV允许字典的可能性攻击。我知道在实践中,像WEP的协议不会努力隐藏IV。如果攻击者有IV和一个密文消息,这将打开一个字典攻击的钥匙的门。我不明白随机iv如何改变这一点。 (我知道对wep的攻击比这更复杂。) 一个随机的iv有 ..
发布时间:2017-01-16 09:46:07 开发方法

如何正确地做私钥管理

有任何人获得实践经验或参考实施密钥管理方案,将符合 PCI DSS 安全标准? 由于符合PCI DSS的公司数量,显然有很多实现,但试图找到它们的细节是很困难的。当它下降到存储私人数据时,讨论通常停止在使用哪种加密算法。在这之后,通常有一个关于适当存储私钥的声明,但没有讨论实际的方法,或周期性地更改密钥或向应用程序提供密钥等。 具体我对PCI DSS标准第3.5和3.6节的要求感兴趣。 ..
发布时间:2017-01-16 09:45:55 开发方法

如何解密SHA-256加密的String?

我有一个使用下面的方法编码的字符串,有没有办法将这个字符串解码为其原始值?感谢。 public synchronized String encode(String password) throws NoSuchAlgorithmException,IOException { String encodedPassword = null; byte [] salt = base64 ..
发布时间:2017-01-16 09:45:00 Java开发

如何从.NET中读取PEM RSA私钥

我有一个 RSA 私钥在 PEM 格式,有一个直接的方式来阅读从.NET和实例化 RSACryptoServiceProvider 以解密用相应的公钥加密的数据? 解决方案 我解决了,谢谢。如果有人有兴趣, bouncycastle 做了,戏弄,只是花了我一些时间,由于缺乏知识从我的侧面和文档。这是代码: var bytesToDecrypt = Convert.FromBas ..
发布时间:2017-01-16 09:44:47 C#/.NET

PHP AES加密/解密

我在PHP中找到了一个用于en /解码字符串的例子。起初它看起来很好,但它不工作: - ( 有谁知道问题是什么? $ Pass =“Passwort”; $ Clear =“Klartext”; $ crypted = fnEncrypt($ Clear,$ Pass); echo“Encrypted:”。$ crypted。“”; $ newC ..
发布时间:2017-01-16 09:44:00 PHP

SHA-1是否安全用于密码存储?

结论: SHA-1与任何防止preimage攻击的安全一样安全,但它很容易计算,这意味着更容易安装bruteforce或字典攻击。 (对于诸如SHA-256的后继者也是如此。)根据情况,被设计为计算上昂贵的哈希函数(例如bcrypt)可能是更好的选择。 有些人很多地抛出“SHA-1坏了”这样的话,所以我想了解到底是什么意思。让我们假设我有一个SHA-1密码哈希的数据库,一个攻击者拥有一个最先 ..
发布时间:2017-01-16 09:43:49 开发方法

什么数据类型用于散列密码字段和什么长度?

我不知道密码哈希是如何工作的(以后会实现),但现在需要创建数据库模式。 我想限制密码到4-20个字符,但是我理解加密后的哈希字符串将有不同的长度。 那么,如何将这些密码存储在数据库中? 解决方案 这取决于你使用的哈希算法。散列总是产生相同长度的结果,而不管输入。通常将二进制散列结果以文本形式表示为一系列十六进制数字。或者,您可以使用 UNHEX () 函数将十六进制数字字符串减 ..
发布时间:2017-01-16 09:43:36 数据库

密码:最佳实践?

我一直很好奇...哪个更好,当盐化密码hashing:前缀或后缀?为什么? 解释一下:我们现在都知道,我们应该 salt 密码,然后我们将其哈希存储到数据库[编辑:例如 Jeff Atwood最近发生了什么]。通常,这是通过在将盐与密码连接之前通过散列算法来实现的。但是示例不同...有些示例在密码前面添加了盐。一些示例在之后添加盐。我甚至看到一些试图把盐放在中间。 那么这是更好的方法, ..
发布时间:2017-01-16 09:43:15 开发方法