jjzjj

java - Java 中的散列与 PHP 中的盐完全相同吗? (SHA-256)

我可以简单地在PHP中加盐:$orig_pw="abcd";$salt=5f8f041b75042e56;$password=hash('sha256',$orig_pw.$salt);(我不是这样实现的,这只是一个例子,盐因人而异)有了这个,存储的密码是:bc20a09bc9b3d3e1fecf0ed5742769726c93573d4133dbd91e2d309155fa9929但是如果我尝试在Java中做同样的事情,我会得到不同的结果。我试过Stringpassword="abcd";byte[]salt=hexStringToByteArray("5f8f041b75042e5

php - 如何使用 OpenSSL 在 PHP 中使用 AES-256 CBC 加密明文?

我试图在进入数据库之前加密我的php驱动网站中的个人消息等敏感用户数据。我在互联网上进行了一些研究,发现了一些需要记住的重要事项:永远不要使用mcrypt,它是废弃软件。AES基于Rijndael算法,至今未被破解。AES也被美国国家安全局推荐并用于美国政府的数据加密,但由于美国国家安全局推荐它,他们有可能轻易窃取我的用户数据。Blowfish也一直没有中断,但速度慢且不太受欢迎。因此,我决定先尝试使用AES-256cbc。但我仍然不确定我是否不应该将Blowfish视为更好的选择。因此,欢迎提出任何建议。我最关心的是,如何在php中加密数据?我在php文档中找不到关于此的好手册。正确

php - 拉维尔 5.4 : The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths

这是我的网络应用程序的Laravel5.4设置。页面加载时重复发生一件事。因此,我无法在我的页面上获取数据。运行时异常:唯一受支持的密码是具有正确key长度的AES-128-CBC和AES-256-CBC。反复出现这个错误如有任何帮助,我将不胜感激。 最佳答案 确保您的应用配置已设置key和密码。还要确保您的.env文件没有空的APP_KEY条目。最后运行:phpartisankey:generate 关于php-拉维尔5.4:TheonlysupportedciphersareAES-

java - Java 与 PHP 上的 AES256

到目前为止一直在逃避我的快速(漫长的夜晚)。我正在比较PHP和Java中的AES256并注意到差异。为简单起见,请忽略asciikey和空IV,它们将在生产中被替换。但我需要先克服这个问题,无法弄清楚我在哪里犯错:PHP:echobase64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128,"1234567890ABCDEF1234567890ABCDEF","Thisisatest",MCRYPT_MODE_CBC,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"));Javabyte[]key="1234567890ABCDE

php - 主卡 migs md5 到 SHA-256 HMAC php

我有一个来自migs的网关,但它们已将md5更改为SHA-256HMAC我如何在我的代码中更改它我尝试了太多次但我收到错误400我认为我的代码存在一些问题现有代码country."'ORDERBYcountry_2_codeASC";$db1->query($q);$url="https://migs.mastercard.com.au/vpcpay";$SECURE_SECRET=MIGS_SS;$vpcURL=$url."?";$md5HashData=$SECURE_SECRET;$tax_total=$db->f("order_tax")+$db->f("order_shipp

Zend Server CE 5.5 中带有 sha256 的 PHP crypt() 会截断提供的盐

在从ZendServerCE5.1升级到ZendServerCE5.5的过程中,PHP也从5.3.5升级到5.3.8。在此转换之后,我正在处理的zend应用程序的登录功能突然中断。尝试调试它,它看起来像crypt()的实现没有反射(reflect)PHP手册,或者我误解了它。如果我敢猜测,是后者。我使用16个字符的长盐作为使用SHA256的更大盐的一部分,这在PHP手册中用作示例。$password=//stringenteredatlogin$salt='$5$rounds=250000$1234abcd5678defg$';在我对输入的密码进行哈希运算之后$hash=crypt($

javascript - 客户端 (JS) 和服务器 (PHP) 中的 AES 256

我正在尝试使用相同类型的操作(即AES-256)在服务器端和客户端加密和解密数据。在服务器上我使用PHP,客户端我使用CryptoJS到目前为止我只能在服务器上加密和解密客户端,请参见代码:JSvarsalt=CryptoJS.lib.WordArray.random(128/8);varkey256Bits500Iterations=CryptoJS.PBKDF2("SecretPassphrase",salt,{keySize:256/32,iterations:500});variv=CryptoJS.enc.Hex.parse('101112131415161718191a1b

java - RSA/ECB/OAEPWithSHA-256AndMGF1Padding 但 MGF1 使用 SHA-256?

我在Oracle的Java标准加密提供程序中找到了困难的方法Ciphercipher=Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");使用通过SHA-1实例化的MFG1;SHA-256仅用于散列标签(实际上是空的)。我发现在MFG1中实际使用SHA-256的唯一解决方案(在answer和comment的帮助下)是使用Cipher.init的替代形式:cipher.init(Cipher.DECRYPT_MODE,privKey,newOAEPParameterSpec("SHA-256","MGF1",MGF1Pa

java - 如何在 Java 中更快地计算 sha256?

我发现在java中计算sha256很慢。例如,它比python慢。我编写了两个简单的基准测试来计算1GB零的sha256。在这两种情况下,结果相同且正确,但python时间为5653ms,java时间为8623ms(慢53%)。每次结果都相似,这对我来说是一个重要的区别。如何让java的计算速度更快?基准:Java:importjava.security.MessageDigest;importjava.security.NoSuchAlgorithmException;publicclassBenchmarkSha256{publicstaticvoidmain(String...a

java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密

我使用Java的内置加密库编写了一些(功能性)AES加密代码,如下所示,但我想使用256位key。但是,我希望无需用户安装UnlimitedStrengthCryptographyPolicy文件即可执行此操作。现在,我听说使用BouncyCaSTLeLightweightAPI可以让我做到这一点,但不幸的是,我在理解它时遇到了很多麻烦,并且正在努力寻找任何对我有帮助的文档。这是我当前的代码,其中'content'是要加密的字节数组:KeyGeneratorkgen=KeyGenerator.getInstance("AES");intkeySize=128;kgen.init(key