问题标签 [cryptography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
2158 浏览

javascript - Javascript 是密码学的合适平台吗?或者,可以吗?

很久以前,我注意到 Wikipedia 链接到不同哈希函数的Javascript 实现。还发现了Clipperz Crypto。甚至 Mozilla 在 Firefox 中实现了一个加密对象

那么,Javascript 是一个合适的密码学平台吗?或者,可以吗?
或者,我想.. 在 POST 之前散列数据有什么目的或好处吗?

0 投票
7 回答
4641 浏览

c# - 生成用户特定的 1 次优惠券代码

因此,我需要生成一个代码,该代码可以与特定用户/潜在客户相关联,并内置美元金额。它需要是可逆的,以便客户端应用程序可以确认代码的有效性并应用经理想要的折扣。

我想让代码尽可能短,但它需要被很好地混淆,这样销售人员就不能自己开始弄乱它。

我可以自己想出一些数字,除以 pi 并转换为十六进制等等,但我会对社区的想法或最佳实践非常感兴趣。

我在 C# 中执行此操作,但我希望可以翻译任何语言的方法。

编辑:澄清。我不能提前存储这些东西,代码必须即时构建并携带所有信息。

例如。推销员 14 打电话给客户 773,希望给他们 500 美元的订单折扣。14、773 和 500 必须在优惠券代码中,并且能够在销售人员键入代码后在客户端应用程序中提取。

0 投票
5 回答
973 浏览

sql-server-2008 - 在 SQL Server 2008 中,如何以除非连接到网络才能解密数据的方式保护数据?

我们最近在 SQL Server 2008 中为我们开发人员笔记本电脑上的本地数据库实施了透明数据加密,以在笔记本电脑被盗或丢失的情况下保护它们。这工作正常。

现在我们正试图找出一种让证书每天过期的方法,强制一个自动化进程(可能是登录时的脚本)进入网络路径并获取一个过期一天后的新证书。这将确保如果发生意外情况,第二天数据将无法使用。

我还研究了使用 Cryptographic 提供程序,但那里似乎没有任何“提供程序”。也许我错了。

我愿意接受建议。如果有更好的方法请告诉我。谢谢!

0 投票
29 回答
767760 浏览

c# - 在 C# 中加密和解密字符串?

如何在 C# 中加密和解密字符串?

0 投票
4 回答
9485 浏览

c# - CNG、CryptoServiceProvider 和 HashAlgorithm 的托管实现

所以我想知道哈希算法的各种实现之间是否有任何重大差异,以SHA系列算法为例。它们每个都有 3 个实现,1 个在托管代码中,2 个围绕不同的本机加密 API 进行包装,但是使用它们之间有什么主要区别吗?我可以想象包装器版本可以具有更高的性能,因为它是在本机代码中执行的,但是 surley 嘿都需要执行完全相同的计算并因此提供相同的输出,即它们是可互换的。它是否正确?

例如 SHA512CNG 不能在 XP SP2 上使用(文档错误),但 SHA512MANAGED 可以。


@Maxim - 谢谢,但不是我所要求的。我在问使用给定哈希算法的 Managed/CryptoServiceProvider/CNG 实现是否有任何区别,除了可能的性能。使用 .NET 3.5,您可以获得具有三种实现的所有哈希算法,所以

SHA512Managed SHA512CryptoServiceProvider SHA512Cng

后两者是原生 API 的包装器。例如,所有 SHAxxx 实现都是如此。

0 投票
3 回答
214 浏览

python - 密码函数的参数

我有点困惑,加密函数的参数是一个字符串。我是否应该简单地用 str() 包装非字符串参数,例如

(暂时忽略 random.randbits() 可能在密码学上不好)。编辑:我意识到 hmac 示例很愚蠢,因为我没有将密钥存储在任何地方!

0 投票
1 回答
763 浏览

.net - 为什么 System.Security.Cryptography 中有多个不同的哈希算法提供程序?

正如MSDN所记录的,对于许多不同的散列算法(例如 MD5、SHA、RIPE),有几个提供者。对于每种算法,任何可用的实现似乎都属于 3 类之一:

  • [算法] Cng
  • [算法] CryptoServiceProvider
  • [算法]托管

为什么这些散列算法有多种实现?

实现之间有什么区别?

选择在应用程序中使用哪种实现时有哪些实际区别?

参考:

http://msdn.microsoft.com/en-us/library/system.security.cryptography.aspx

0 投票
3 回答
471 浏览

cryptography - 虚拟化对加密强随机数生成器有什么影响?

/dev/random 和 /dev/urandom 使用环境噪音来产生随机性。

使用虚拟化服务器,一个硬件配置上可以有多个操作系统实例。这些操作系统都将从相同的环境噪声中获取随机性。

这是否意味着作为一个组,随机数生成器的强度会降低,因为所有操作系统实例都基于相同输入的计算?或者,是否将环境噪声分开,从而不会发生共享?

如果后者是真的,我可以看到这会降低 /dev/urandom 的有效性,因为它重用了其内部池并且环境输入更少,从而降低了熵。

/dev/random 应该没问题,因为它会阻塞直到获得足够的噪音......当然,除非操作系统实例都共享输入。

所以,问题是:虚拟化对加密强的随机数生成器有什么影响,特别是那些使用环境噪声的生成器?

0 投票
2 回答
974 浏览

cryptography - 将明文添加到密文中

如何将明文添加到加密的密文中?

例如,我想将数字 4 添加到 encrypted(5)

0 投票
9 回答
154498 浏览

c# - 如何从 .NET 读取 PEM RSA 私钥

我有一个格式的RSA私钥PEM,有没有一种直接的方法可以从.NET 中读取它并实例化一个RSACryptoServiceProvider以解密用相应公钥加密的数据?