customer1991 2016-06-22 09:13 采纳率: 0%
浏览 940

怎么可以让php代码:62837 << -16 在windows和linux中得到相同的结果?

进行des加密操作,发现在windows和linux里得到的结果不一样,发现是createkey过程中有这个运算,从这里开始不一样的。

网络查询得知是int溢出导致,windows下是正确的。建议通过gmp扩展来操作,但是并未找到具体用法,求指教

win的结果:-176881664
lin的结果:-759700962142060544

  • 写回答

2条回答 默认 最新

  • anniue 2016-06-22 12:16
    关注

    php 的变量如果是整数, 类型对应C语言的long 型, 在32位机器上,长度为4个字节,在64位机器上为8个字节,看了你的问题,但是不知道你linux机器的位数是多少,如果32位,真的超长,可以通过多个变量组合表示

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)