相关疑难解决方法(0)

python中的十六进制字符串到字节数组

我有一个长十六进制字符串,表示一系列不同类型的值.我希望将此Hex字符串转换为字节数组,以便我可以将每个值移出并将其转换为适当的数据类型.

python bytearray

130
推荐指数
4
解决办法
26万
查看次数

Python 2.6和3中的bytes vs bytearray

我在Python 2.6中尝试使用bytesvs.bytearray我不明白一些差异的原因.

一个bytes迭代器返回的字符串:

for i in bytes(b"hi"):
    print(type(i))
Run Code Online (Sandbox Code Playgroud)

得到:

<type 'str'>
<type 'str'>
Run Code Online (Sandbox Code Playgroud)

bytearray迭代器返回ints:

for i in bytearray(b"hi"):
    print(type(i))
Run Code Online (Sandbox Code Playgroud)

得到:

<type 'int'>
<type 'int'>
Run Code Online (Sandbox Code Playgroud)

为什么不同?

我想编写能够很好地转换为Python 3的代码.那么,Python 3中的情况是否相同?

python byte bytearray python-2.x python-3.x

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

Python HMAC-SHA1与Java HMAC-SHA1的结果不同

我从http://tools.ietf.org/html/rfc6238借用了HMAC-SHA1 Java代码,并略微修改它以使用已知输出的已知密钥/消息对进行硬编码.

然后我尝试在Python中编写相同的代码来验证结果,但是我在Python和Java中获得了不同的值.

已知Java值很好.

Java代码:

 import java.lang.reflect.UndeclaredThrowableException;
 import java.security.GeneralSecurityException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
 import java.math.BigInteger;
 import java.util.TimeZone;
 import java.util.Arrays;


 public class make_hmac {

     private make_hmac() {}


     private static byte[] hmac_sha(String crypto, byte[] keyBytes,
             byte[] text){
         try {
          System.out.println("Key is..." + bytesToHex(keyBytes) + "\n");
             Mac hmac;
             hmac = Mac.getInstance(crypto);
             SecretKeySpec macKey =
                 new SecretKeySpec(keyBytes, "RAW");
             hmac.init(macKey);
             return hmac.doFinal(text);
         } catch (GeneralSecurityException gse) {
             throw new UndeclaredThrowableException(gse);
         }
     }


     private static byte[] hexStr2Bytes(String hex){ …
Run Code Online (Sandbox Code Playgroud)

python java sha1 hmac

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

将字符串拆分为2char字符串列表

我有一个十六进制流,如:1a2b3c4d5e6f7g但更长,我想将它分成列表中的2char十六进制值,然后将它们转换为ascii.

python hex ascii

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

Python3将HEX值列表转换为Bytes

我有一个以字符串格式表示的字节列表,例如,当我在Python3.3中打印列表时,我得到以下输出:

DATA =  ['FF', 'FF', 'FF', 'FF']
Run Code Online (Sandbox Code Playgroud)

我想将这些转换为字节,例如0xFF,0xFF,0xFF,0xFF.我尝试过bytearray()函数,但这会返回错误.

我猜我在这里错过了一些简单的东西,但我已经环顾了SO和谷歌并且到目前为止没有运气

谢谢!

python python-3.x

3
推荐指数
2
解决办法
1815
查看次数

标签 统计

python ×5

bytearray ×2

python-3.x ×2

ascii ×1

byte ×1

hex ×1

hmac ×1

java ×1

python-2.x ×1

sha1 ×1