小编Pan*_*tos的帖子

在Python 3中删除字符串文字前面的'b'字符

我是python编程的新手,我有点困惑.我尝试从字符串中获取字节以进行哈希和加密,但我得到了

b'...'
Run Code Online (Sandbox Code Playgroud)

b字符串前面的字符就像下面的例子一样.有没有办法避免这种情况?.任何人都可以提供解决方案吗?对不起这个愚蠢的问题

import hashlib

text = "my secret data"
pw_bytes = text.encode('utf-8')
print('print',pw_bytes)
m = hashlib.md5()
m.update(pw_bytes)
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

 print b'my secret data'
Run Code Online (Sandbox Code Playgroud)

python string encryption binary

51
推荐指数
3
解决办法
9万
查看次数

通过数组解构交换变量是否有效?

ES6 支持数组解构,它可用于以如下简洁的语法交换变量,但这是否有效并建议在性能敏感的代码中作为数组处理?因为似乎需要一个新的临时数组来完成这个操作。

[a, b] = [b, a]
Run Code Online (Sandbox Code Playgroud)

processing-efficiency ecmascript-6

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

BouncyCastle:从证书中提取公钥导致NullPointerException

import com.security.crypto.Configuration.Properties;
import org.apache.commons.codec.binary.Base64;
import org.bouncycastle.asn1.ASN1InputStream;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.x509.Certificate;
import org.bouncycastle.jce.provider.X509CertificateObject;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.PublicKey;
import java.security.cert.X509Certificate;

/**
 * Hello world!
 */
public class App {
    public static void main(String[] args) throws Exception {

 String df="MIID/TCCAuWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMRQwEgYDVQQDEwtleGFtcGxlLm9yZzELMAkGA1UEBhMCR1IxDzANBgNVBAgTBkF0aGVuczEPMA0GA1UEBxMGQXRoZW5zMQ0wCwYDVQQKEwRUZXN0MQ0wCwYDVQQLEwRUZXN0MB4XDTE2MDkxODE5NDkzMFoXDTE3MDkxODE5NDkzMFowYzEUMBIGA1UEAxMLZXhhbXBsZS5vcmcxCzAJBgNVBAYTAkdSMQ8wDQYDVQQIEwZBdGhlbnMxDzANBgNVBAcTBkF0aGVuczENMAsGA1UEChMEVGVzdDENMAsGA1UECxMEVGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIFsgF86ymuWPEMCZ5Jlj3pLeq2egQ7aiXD3pwhJQemwoC7wSUoViTt3vnNxVVd7HLQZE4igtCI/ZHJhCf5LKoJqxsAfNjq+KK7/9phznX9MroMpluF8LCKDH6otF7rqknLvI72M+oPYkxTYJv02Wb4+lGWn4aYpUh6XmQPDOW6Yoz7RfrY6t0skJMVGqQhg37n/xHrqcc8KmEy0SBpbsRPi6q8Vwsdbd0MiqWt9NdzfBz6kw8WjMSDAf+H4Nwhydgh4sXxSo2zQHobY+QrEr+RLJI++YsqgBeXYeAWbdKb9C6S16VIe8PNi4EqFYtoOzZcMWDl+1xACiFQemor9FRkCAwEAAaOBuzCBuDAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIC9DA7BgNVHSUENDAyBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDBggrBgEFBQcDBAYIKwYBBQUHAwgwEQYJYIZIAYb4QgEBBAQDAgD3MCwGA1UdEQQlMCOGG2h0dHA6Ly9leGFtcGxlLm9yZy93ZWJpZCNtZYcEfwAAATAdBgNVHQ4EFgQUwOcGIZDvBxPH5FJ2ZKo6YoK1oIswDQYJKoZIhvcNAQEFBQADggEBAARO4d3/JNRmTg33HQ2OigiQ3yh/RCd2u9tF39EmU1tpg/nGMnVql+c+M7TnX51vqGJ2oX5nCY/vM2LgUGCqRcuZLRk2u0SzlaI1QlEPLLnsoCes5rU1tVm8xSUOVYp809F8Eiih0A+NZWbPuT83UgiJVtYOvvEWsnlpErkeP4KblS3z532651pTC/RzKO1saRPx4kBI7QAGogEtjbhvMX8099g0mBHvXcVxrIMTUY4sKntMlYQ4vQ4OxBTEXhKwEW1WJh8orXl3E0EkTFhbjkFE9gbqsS3h4ridMcmahoeIwnwckaU5zxgJ2t3ih35FzZXBmfv3qRgFG81Gdi+NH1U=";
    X509Certificate cert = loadCertificate(df);
    System.out.println(cert.getSigAlgName());//SHA1withRSA
    PublicKey key=cert.getPublicKey();
    System.out.println(key.getAlgorithm());//java.lang.NullPointerException
    }

    public static X509Certificate loadCertificate(String asn1)throws IOException, GeneralSecurityException
    {
        byte []data=Base64.decodeBase64(asn1.getBytes(Properties.CHAR_ENCODING));
        ByteArrayInputStream inStream = new ByteArrayInputStream(data);
        ASN1InputStream derin = new ASN1InputStream(inStream);
        ASN1Primitive certInfo = derin.readObject();
        ASN1Sequence seq = ASN1Sequence.getInstance(certInfo); …
Run Code Online (Sandbox Code Playgroud)

java cryptography bouncycastle

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

使用 PKCS7Padding 在 python 和 Node.js 之间进行 AES 加密

我正在尝试在 Node.js 中使用 pkcs7 填充解密消息,但没有成功。此消息已加密并从 Python 代码发送。我设法让它在纯 Python 中工作,但无法弄清楚如何在 Node.js 中实现解码(pkcs7 填充)功能。有人可以帮我重现代码吗?

Python 编码-加密

import base64
import hashlib
from Crypto.Cipher import AES
import pkcs7

text = "data"
pasword = "key"    

pw_bytes = pasword.encode('utf-8')
text_bytes = text.encode('utf-8')

m = hashlib.md5()
m.update(pw_bytes)
key = m.hexdigest()
cipher = AES.new(key, AES.MODE_ECB)
pad_text = pkcs7.encode(text_bytes)
msg = cipher.encrypt(pad_text)
EncodeMsg = base64.b64encode(msg)
encryptedstring = EncodeMsg.decode("utf-8")
print(encryptedstring)

# Output: SxQE+SERkAzYcdG/ESAhiQ==
Run Code Online (Sandbox Code Playgroud)

另外,我在 Python pkcs7.py 中放置了 pkcs7 padding 的自定义代码

import binascii
try:
    from StringIO import StringIO
except ImportError: …
Run Code Online (Sandbox Code Playgroud)

javascript python encryption cryptography node.js

0
推荐指数
1
解决办法
2111
查看次数