V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ziqing
V2EX  ›  PHP

求了解DES算法的大神解答个问题

  •  
  •   ziqing · 2013-06-26 15:31:13 +08:00 · 3417 次点击
    这是一个创建于 4177 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在32位的操作系统上用js加密,php解密没有问题,算法是一样的
    换到64位后就解不出来了
    最后发现在64位系统上是js加密和php加密后竟然密文不一样,32位就没问题
    7 条回复    1970-01-01 08:00:00 +08:00
    csx163
        1
    csx163  
       2013-06-26 17:00:28 +08:00
    前几天才翻了下DES,发现DES也有很多种的,各系统默认的加密方式不一样,貌似是这样.
    tangzx
        2
    tangzx  
       2013-06-26 18:21:21 +08:00 via iPhone
    js的buffer是无符号8位整数其他语言都是有符号8位整数所以不一样
    tangzx
        3
    tangzx  
       2013-06-26 18:22:29 +08:00 via iPhone
    不管js还是php底层都调用openssl,所以算法是一样的
    ziqing
        4
    ziqing  
    OP
       2013-06-26 19:02:18 +08:00
    @tangzx 这个问题应该怎么解决呢
    tangzx
        5
    tangzx  
       2013-06-26 19:51:35 +08:00
    简单粗暴: child_process调用其他语言编写的加密程序再获取结果
    clowwindy
        6
    clowwindy  
       2013-06-26 21:03:35 +08:00 via iPhone
    贴一下代码,才知道哪里写错了。
    ziqing
        7
    ziqing  
    OP
       2013-06-26 22:08:17 +08:00
    是算法里移位的问题吧?32位和64位移相同的位数,结果不一样吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3301 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:06 · PVG 21:06 · LAX 05:06 · JFK 08:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.