V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
404neko
V2EX  ›  问与答

[密码学]拿到一串长长的 16 进制串 应该如何处理

  •  
  •   404neko · 2014-08-23 23:26:12 +08:00 · 3268 次点击
    这是一个创建于 3745 天前的主题,其中的信息可能已经有所发展或是发生改变。
    7 条回复    2014-08-26 18:06:59 +08:00
    wormcy
        1
    wormcy  
       2014-08-24 06:33:30 +08:00 via Android   ❤️ 1
    坐等大神 我一般直接扔撞库网站
    404neko
        2
    404neko  
    OP
       2014-08-24 13:17:01 +08:00
    @wormcy 密码学!=密码
    seffyvon
        3
    seffyvon  
       2014-08-25 09:36:40 +08:00
    以Python为例子:

    1. 如果是16进制字符串,可以将每两个字符转化成对应的十六进制数
    比如c="32510ba9babebbbe"
    就可以把"32" "51" "0b" 这些使用int("32",16)转成对应的int类型,可以做各种xor运算,对于cipher text、plain text来处理,或者当作密钥

    2. 如果是16进制数,直接当成long类型来处理就可以了,比如Python中的Crypto,是密码学上很好用的模块:
    from Crypto.PublicKey.RSA import construct
    rsa_obj = construct(N, e, d) #N, e, d都是long类型
    a = rsa_obj.decrypt(cipherText) #cipherText也是long类型
    404neko
        4
    404neko  
    OP
       2014-08-25 16:04:44 +08:00
    @seffyvon 有密码学的书籍推荐么
    seffyvon
        5
    seffyvon  
       2014-08-25 21:01:21 +08:00
    @404neko 我没有刷过书,只是假期有空上了一下Coursera的课程Cryptography I :) 九月还有II
    seffyvon
        6
    seffyvon  
       2014-08-25 21:02:54 +08:00
    不过你是对密码学感兴趣嘛?
    404neko
        7
    404neko  
    OP
       2014-08-26 18:06:59 +08:00
    @seffyvon 感谢
    是...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 17:48 · PVG 01:48 · LAX 09:48 · JFK 12:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.