Tag: 密码学

我怎样才能创build一个随机数在python密码保护?

我正在做一个Python项目,我想创build一个密码安全的随机数字,我该怎么做? 我已经在网上读到,规则随机数生成的数字不是encryption安全的,并且函数os.urandom(n)返回给我一个string,而不是一个数字。

如何encryption散列JSON对象?

下面的问题比起来看起来要复杂得多。 假设我有一个任意的JSON对象,可以包含任何数量的数据,包括其他嵌套的JSON对象。 我想要的是JSON数据的encryption散列/摘要,而不考虑实际的JSON格式本身(例如:忽略JSON令牌之间的换行符和间距差异)。 最后一部分是一个需求,因为JSON将由许多不同平台上的各种(de)序列化器生成/读取。 我知道至less有一个用于Java的JSON库,它在反序列化过程中读取数据时完全消除了格式化。 因此,它将打破哈希。 上面的任意数据子句也使事情复杂化,因为它阻止了我按照给定的顺序接收已知的字段,并在hasing之前将它们连接起来(大致思考Java的非encryptionhashCode()方法是如何工作的)。 最后,将整个JSONstring散列为一个字节块(在反序列化之前)也是不可取的,因为在计算散列时应该忽略JSON中的字段。 我不确定这个问题有很好的解决方法,但是我欢迎任何方法或想法=)

我怎样才能在C#中生成一个密码安全的伪随机数字?

C#3.0(.NET Framework 3.5)的密码安全伪随机数生成器 (CSPRNG)是否有快速实现,用于身份validation令牌?

多长时间蛮力腌SHA-512哈希? (提供盐)

这里是Java中的一个algorithm: public String getHash(String password, String salt) throws Exception { String input = password + salt; MessageDigest md = MessageDigest.getInstance(SHA-512); byte[] out = md.digest(input.getBytes()); return HexEncoder.toHex(out); } 假定盐是已知的。 我想知道当密码是一个字典单词的时候,还有当它不是一个字典单词。

什么是彩虹攻击?

我正在阅读一些关于盐和密码哈希的文章,还有一些人提到了彩虹攻击。 彩虹攻击究竟是什么,防止它的最好方法是什么?

如何从.NET读取PEM RSA私钥

我有一个PEM格式的RSA私钥,是否有直接的方式从.NET读取这个私钥并实例化一个RSACryptoServiceProvider来解密使用相应公钥encryption的数据?

将PEM转换为PPK文件格式

是否有内置的C#机制将PEM文件转换为PPK文件? (您可能会猜测Amazon EC2为我提供了一个PEM文件,而且我需要使用PPK格式进行SSH连接)。

黑莓智能卡读卡器的例子

我正在为使用黑莓智能卡阅读器的BlackBerry编写应用程序。 关于这个问题没有太多的文件,所以我真的很喜欢,如果有人能给我开始的例子。 基本上,卡上有一个RSA私钥和一个证书(用于配对的公钥)。 我希望能够encryption/解密数据,也签名。 最终目标是使用智能卡上包含的客户端证书build立一个相互authentication的SSL连接。 这是我设法到目前为止的代码: SmartCardReader btReader = null; SmartCardReader[] readers = SmartCardReaderFactory.getInstalledReaders(); for (int i = 0; i < readers.length; i++) { SmartCardReader reader = readers[i]; if (reader.getType().equalsIgnoreCase("bluetooth")) { btReader = reader; break; } } SmartCardReaderSession readerSession = reader.openSession(); CryptoSmartCard card = (CryptoSmartCard) readerSession.getSmartCard(); RSACryptoToken token = (RSACryptoToken) card.getCryptoToken("RSA"); 这个token看起来很有希望 – 有一些不错的方法,但是有一些“神秘”的论点。 接下来做什么?

我了解/ dev / urandom?

我一直在阅读关于/dev/urandom ,据我所知, /dev/random通过利用networking数据包计时等几个事件来创buildencryption随机数。不过,我是否理解正确的/dev/urandom使用一个PRNG,从/dev/random加上一个数字? 或者,只要有一点点就可以使用/dev/random ,当它们用完时,就会从某处收集到一颗种子,然后回到PRNG。

为什么在密码学上使用XOR?

为什么XOR只用在密码algorithm中,其他的逻辑门如OR,AND和NOR不用?