CryptoJS用口令对AES进行加密,但PHP解密需要密钥
我正在使用 cryptojs 加密字符串: function doHash(msg){ msg = String(msg); var passphrase = 'aggourakia'; var hash = CryptoJS.AES.encrypt(msg, passphrase); var ciphertext= hash.ciphertext.toString(); //return ciphertext instead of object return ciphertext; } 我理解, cryptojs 生成一个键,然后将其用于加密数据. 但是,我想使用PHP功能解密密码,或者也许 这样的在线工具: http://aesencryptign.net/ 问题是这些期望键,不是密码. 我如何直接向Cryptojs AE提供键,我可以在服务器端或任何在线工具上使用以解密? 问题是,我已经很难找到
0 2023-05-31
编程技术问答社区
问题用PHP加密(openssl_encrypt),然后用JS解密(CryptoJS)。
我第一次使用cryptojs,我正在努力解密我使用 openssl_encrypt()在php. 中加密加密的字符串. PHP 5.6.13.0和Cryptojs 3.1.2 首先,我的php: $encryptHash = hash_pbkdf2("sha256", "0000", "secret", 1000, 32); var_dump($encryptHash); $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc')); var_dump(bin2hex($iv)); $encrypted = openssl_encrypt("hello! this is my string!", 'aes-256-cbc', $encryptHash, 0, $iv); var_dump($encrypted); $encrypted = base64_encode($enc
2 2023-05-31
编程技术问答社区
经典ASP中的各种HMAC_SHA256函数给出了不同的结果
以某种方式我需要在经典ASP中生成一个哈希,这等同于PHP的Callud函数的输出: $hash = hash_hmac('SHA256', $message, pack('H*', $secret)); 其中$message = 'stackoverflow'; $secret = '1234567890ABCDEF';.我在网上尝试了很多方法,但没有一个与PHP结果相匹配: bcb3452cd48c0f9048e64258ca24d0f3399563971d4a5dcdc531a7806b059e36 方法1:使用dvim_brix_crypto-js-master_vb.asp在线(使用crytojs) Function mac256(ent, key) Dim encWA Set encWA = ConvertUtf8StrToWordArray(ent) Dim keyWA Set keyWA = ConvertUtf
0 2023-05-28
编程技术问答社区
AES-256-CBC Mcrypt-PHP 解密和 Crypto-JS 加密
我试图用cryptojs在JavaScript中对PHP进行加密. JS代码是: var salt = CryptoJS.lib.WordArray.random(128/8); var key256Bits500Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, { keySize: 256/32, iterations: 500 }); var iv = CryptoJS.enc.Hex.parse('101112131415161718191a1b1c1d1e1f'); // just chosen for an example, usually random as well encrypted = CryptoJS.AES.encrypt("Message", key512Bits1000Iterations, { iv: iv }); var data_base64 = crypted.cipherte
2 2023-05-28
编程技术问答社区
在客户端(JS)和服务器(PHP)中的AES 256
我正在尝试使用相同类型的操作(即AES-256. 在服务器上我使用php和客户端,我到目前为止使用cryptojs,我只能对服务器上的客户端进行加密并解密客户端,请参阅代码: JS var salt = CryptoJS.lib.WordArray.random(128/8); var key256Bits500Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, { keySize: 256/32, iterat
0 2023-05-28
编程技术问答社区
使用CryptoJS解码一个Base64字符串
我正在尝试创建一个简单的网页,其目标是将消息发送到服务器(将与该内容创建文件),然后创建一个链接,并且接收提供的链接的用户将能够请参阅加密值(因为它提供了文件的名称和密钥). 该消息是使用cryptojs aes进行加密的,结果是基本64编码要被解码,仅加密消息的基本64,而加密的消息无需发送到服务器,这是使用JavaScript进行的./p> 我的问题是.我有一条消息,可以说我使用base64编码的" Hello World",它给了我: 1ffffffff5a8ae57 如果我将此值发送到变量,然后只使用该变量,则显示一个结果: // Works ! var test = CryptoJS.enc.Base64.parse("Hello World"); alert(CryptoJS.enc.Base64.stringify(test)); 正常.但是,如果我尝试直接编写文本(或只是做一个tostring(),它不起作用……这也是正常的,因为"测试"变量不
0 2023-05-28
编程技术问答社区
为什么HMAC sha256在PHP和Javascript上返回不同的值
我正在尝试使用cryptojs在JavaScript中构建HMAC SHA256字符串,我的现有代码是使用Akamai库以PHP编写的. 在某些情况下,与PHP相比,我获得的结果不同,我无法理解为什么它给我不同的结果 /* Using native hash_hmac Generating key by concatenating char */ $signature1 = hash_hmac('SHA256', "st=1453362060~exp=1453363260~acl=/*", chr(63)); $signature2 = hash_hmac('SHA256', "st=1453362060~exp=1453363260~acl=/*", chr(63) . chr(23)); $signature3 = hash_hmac('SHA256', "st=14533
0 2023-05-27
编程技术问答社区
PHP函数crypt()在JavaScript中的应用
在服务器端我创建一个密码哈希: public static function salt() { return '$1$' . StringUtil::random(6, array('encode' => StringUtil::ENCODE_BASE_64)); } public static function hash($password, $salt = null) { return crypt($password, $salt ?: static::salt()); } ,在客户端,我想使用cryptojs进行相同的操作. PHP crypt()中的JavaScript中是否有类似物? 不需要? upd: 我想在客户端执行此操作,因为我不想将密码发送到服务器,但是诸如clientid crypted用哈希(Hash)秘密,在服务器上解密并获取下一个操作的哈希. 解决方案 好吧,这里是: php php crypt for md5-hashe
0 2023-05-27
编程技术问答社区
用文件的一部分生成JavaScript文件哈希值
我正在使用JavaScript来生成唯一文件值的文件哈希值.请检查以下代码是否有效的哈希生成机制. // Reference: https://code.google.com/p/crypto-js/#MD5 function handleFileSelect(evt) { var files = evt.target.files; // FileList object // Loop through the FileList and render image files as thumbnails. for (var i = 0, f; f = files[i]; i++) { var reader = new FileReader(); // Closure to capture the file information. r
0 2023-05-27
编程技术问答社区
用CryptoJS加密,用PHP解密
在客户端(移动设备)上,我加密使用Cryptojs的用户密码: var lib_crypt = require('aes'); $.loginButton.addEventListener('click', function(e){ var key = lib_crypt.CryptoJS.enc.Hex.parse('bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3'); var iv = lib_crypt.CryptoJS.enc.Hex.parse('101112131415161718191a1b1c1d1e1f'); var encrypted = lib_crypt.CryptoJS.AES.encrypt($.passwordInput.value, key, { iv: iv }); var password_base64 = encrypted.ciphertext.toS
0 2023-05-26
编程技术问答社区
在PHP中加密openssl并在javascript中解密 CryptoJS
我使用 在PHP中加密一些参数 openssl("parameter", "AES-256-ECB", "client") 我想在 cryptojs 中解密: CryptoJS.AES.decrypt(parameter, "client", {mode: CryptoJS.mode.ECB}).toString(CryptoJS.enc.Utf8); 但是它扔了一个空字符串. 有什么建议? 解决方案 cryptojs:php openssl Encrypt-> JavaScript解密 php: function CryptoJSAesEncrypt($passphrase, $plain_text){ $salt = openssl_random_pseudo_bytes(256); $iv = openssl_random_pseudo_bytes(16); //on PHP7 can use random_b
2 2023-05-26
编程技术问答社区
用 JavaScript 加密和用 PHP 解密
我在JavaScript中加密我的用户密码: var encryptedPassword = CryptoJS.AES.encrypt(password, "Secret Passphrase"); 它可以正常工作,但是现在我试图在服务器端上解密PHP: $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); $decryptPassword = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, "Secret Passphrase", base64_decode($password), MCRYPT_MODE_CBC, $iv); 它根本不起作用,解密的密码字符串看起来很奇怪: string(64) ">�OX2MS��댗v�
0 2023-05-25
编程技术问答社区
cryptojs:如何生成AES密码
我想为我的AES加密生成256位密码.加密后检查密码时,它与我的初始密码不同.我究竟做错了什么?还是我不知道某些安全机制? 我的代码: password=Generate_key(); var encrypted = CryptoJS.AES.encrypt("Message", password); //Those two should be the same document.write(password+" "); document.write(encrypted.key); function Generate_key() { var key = ""; var hex = "0123456789abcdef"; for (i = 0; i
0 2023-05-21
编程技术问答社区
将Java'的PBEWithMD5AndDES转换为JavaScript
我正在尝试在JavaScript中复制Java代码. 以下是我的Java代码: public static String encrypt(String input) final byte[] SALT= { (byte) 0x21, (byte) 0x21, (byte) 0xF0, (byte) 0x55, (byte) 0xC3, (byte) 0x9F, (byte) 0x5A, (byte) 0x75 }; final int ITERATION_COUNT = 31; { if (input == null) { throw new IllegalArgumentException(); } try { KeySpec keySpec = new PBEKeySpec(null, SALT, ITERATION_COUNT); Algori
0 2023-05-21
编程技术问答社区
在Javascript中的Symfony2密码编码器功能
我使用fosuserbundle和fosrestBundle创建了Symfony2应用程序.我想使用REST API将其他应用程序与我的Symfony应用程序连接. 我需要在JavaScript中编写Symfony密码编码器函数. 实际上,在PHP中,它就像: $salt = "secret"; $password = "azerty"; $salted = $password.'{'.$salt.'}'; $digest = hash('sha512', $salted, true); for ($i = 1; $i
0 2023-05-21
编程技术问答社区
谷歌OAuth2服务账户HTTP/REST认证
我正在尝试使用以下文档提出访问令牌请求: https://developers.google.com/identity/indedity/prototococols/oauth2sserv2sserv2sserv2sserviceaccount 我正在利用JSRSASIGN库生成我的JWT 为了清楚起见,我将代码部署到parse.com云代码,除了Google失败的响应. 外,一切都可以正常执行. jsrsasign [ http://kjur.github.io/jsrsasign/] api/符号/kjur.jws.jws.html#.sign Parse.Cloud.define("testBase", function(request, response) { var createJWT = function(){ var creds = { private_key_id: "532ca15e518a074dd81
2 2023-05-20
编程技术问答社区
使用CryptoJS从解密格式解析为带有大部分填充物的字符串的问题
我只是无法按照我想要的cryptojs来工作.我正在尝试使用PKSC7填充的AES创建语言间可操作性,理想情况下是CBC模式.但是在这一点上,如果有效的话,我几乎都会服用任何填充物.现在,我不确定我是否做错了什么,或者我的设置或cryptojs有问题.我有一个大的测试即时运行.最后,我需要对我的解密文本输出一个字符串输出,但我没有得到.这非常令人沮丧! 我一直在上下这是一些我寻求帮助的文章href =" https://stackoverflow.com/questions/39311514/how-to-decrypt-aes-with-cryptojs"> this 我也在解析服务器云代码中运行此操作. 上面帖子的示例有效,但不解码为字符串,它也只能无填充 - 我不适合我... 任何帮助确实会真正帮助我的智慧:) var CryptoJS = require("crypto-js"); const keygen = require('secure-
4 2023-05-20
编程技术问答社区
在浏览器/CryptoJS中解密openssl AES 256 CBC
我想解密服务器上使用OpenSSL加密的字符串: openssl enc -e -aes-256-cbc -pbkdf2 -a -S 0123456789ABCDEF -A -k mypassword 请注意,这仅提供盐和密码,并且OpenSSL应自动处理钥匙.当浏览器也解密时可能会发生这种情况,我是否太乐观了?如果可能的话,我只想使用那些加密设置或增加复杂性的最低限度来进行.在浏览器中,我试图与这样的加密j解密: import * as CryptoJS from 'crypto-js' const encrypted = const password = 'mypassword' const salt = '0123456789ABCDEF' const key = CryptoJS.PBKDF2(password, salt) // Generate key const bytes = CryptoJ
4 2023-05-11
编程技术问答社区