小编Pas*_*itz的帖子

在node.js中重新创建MCRYPT_RIJNDAEL_128

尝试在node.js中重新创建以下php加密代码:

$size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($size, MCRYPT_RAND);
$msg = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, 'MY_KEY_LONG_STRING', 'PLAINTEXT', MCRYPT_MODE_ECB, $iv));
Run Code Online (Sandbox Code Playgroud)

尝试过这个:

var text = 'PLAINTEXT';
var len = text.length;
for (var i = 0; i < 16 - len % 16; i++) {  // pad to multiple of block size 
    text += '\0';
}
var key = 'MY_KEY_LONG_STRING';
key = key.substr(0, 16); // trim to expected key size for aes128

var cipher = crypto.createCipher('aes-128-ecb', key);
cipher.setAutoPadding(false); // did our own padding, to match mcrypt_encrypt …
Run Code Online (Sandbox Code Playgroud)

javascript php aes mcrypt node.js

5
推荐指数
1
解决办法
3655
查看次数

适用于 S3 的 AWS Java 开发工具包中的签名不匹配

我有一个属于另一个帐户的存储桶。使用 AWS CLI,我可以访问(列出和读取对象)此存储桶。例如:

aws s3 ls s3://somebucket/foo/bar
Run Code Online (Sandbox Code Playgroud)

列出对象。

尝试使用 Java SDK(在 Scala 中)重新创建相同的内容,我收到上述异常 (SignatureDoesNotMatch)。

这是代码:

package com.myco.sample

class TestCase() {
    val credentials = new com.amazonaws.auth.BasicAWSCredentials(
        "ACCESS_KEY_ID", 
        "SECRET_ACCESS_KEY"
    )
    val s3 = new com.amazonaws.services.s3.AmazonS3Client(credentials)
    val endpoint = "somebucket.s3-us-west-2.amazonaws.com"
    s3.setEndpoint(endpoint)

    try {
        val objs = s3.listObjects("foo/bar")
    } catch {
        case ace: com.amazonaws.services.s3.model.AmazonS3Exception => {
            println(ace.getAdditionalDetails)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

对 listObjects 的调用引发异常。输出是:

com.amazonaws.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided. Check your key and signing method. (Service: Amazon …
Run Code Online (Sandbox Code Playgroud)

java scala amazon-s3 amazon-web-services

5
推荐指数
1
解决办法
9153
查看次数

标签 统计

aes ×1

amazon-s3 ×1

amazon-web-services ×1

java ×1

javascript ×1

mcrypt ×1

node.js ×1

php ×1

scala ×1