ziqing
V2EX  ›  PHP

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

  •  
  •   ziqing · Jun 26, 2013 · 4021 views
    This topic created in 4770 days ago, the information mentioned may be changed or developed.
    我在32位的操作系统上用js加密,php解密没有问题,算法是一样的
    换到64位后就解不出来了
    最后发现在64位系统上是js加密和php加密后竟然密文不一样,32位就没问题
    7 replies    1970-01-01 08:00:00 +08:00
    csx163
        1
    csx163  
       Jun 26, 2013
    前几天才翻了下DES,发现DES也有很多种的,各系统默认的加密方式不一样,貌似是这样.
    tangzx
        2
    tangzx  
       Jun 26, 2013 via iPhone
    js的buffer是无符号8位整数其他语言都是有符号8位整数所以不一样
    tangzx
        3
    tangzx  
       Jun 26, 2013 via iPhone
    不管js还是php底层都调用openssl,所以算法是一样的
    ziqing
        4
    ziqing  
    OP
       Jun 26, 2013
    @tangzx 这个问题应该怎么解决呢
    tangzx
        5
    tangzx  
       Jun 26, 2013
    简单粗暴: child_process调用其他语言编写的加密程序再获取结果
    clowwindy
        6
    clowwindy  
       Jun 26, 2013 via iPhone
    贴一下代码,才知道哪里写错了。
    ziqing
        7
    ziqing  
    OP
       Jun 26, 2013
    是算法里移位的问题吧?32位和64位移相同的位数,结果不一样吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1031 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 19:08 · PVG 03:08 · LAX 12:08 · JFK 15:08
    ♥ Do have faith in what you're doing.