当前位置: 首页 > news >正文

联通iccid 19转20 使用luhn 算法的计算公式

联通iccid 19转20 使用luhn 算法的计算公式

第一次对接iccid 才知道 使用的是luhn 算法 19转20位

  • 文章来源于 文章来源

当时也是一脸懵逼 的状态,然后各种chatgpt 寻找,怎么找都发现不对,最后看到这片java的文章实验是正确的,因为像这种好多鉴权、加密、升级等都是java的,还没有文档,只能试着去碰,最后终于对了

原文的思路,然后从java 改成php

ICCID共20位, 最后一位的校验位计算规则如下:

  1. 取前19位 . 从左到右奇数位开始. 乘以2 然后计算个位与十位数之和.

  2. 将所有偶数位的数字与上一步得到的值全部相加

  3. 将上一步得到的值乘以9 然后取余. 得到的值就是第20位的校验位

例: 89860262191507034404 最后一位校验位是4

在这里插入图片描述

第三行相加 1+6+9+1+6+6+0+2+1+2+2+2+9+2+5+0+7+0+3+8+4+0=76

最后 76*9 = 684

校验位就是 684%10=4 各位可以到 验证该计算方法.`

代码如下,希望能帮到大家
/*** @param string $iccid* @return int|string*/public function checkLuhn($iccid = ''){$strLen = strlen($iccid);if ($strLen == 19) {$rest = 0;for ($i = 0; $i < $strLen; $i++) {if($i % 2 == 0){$oddNum = $iccid[$i] * 2;$rest += intval($oddNum / 10) + $oddNum % 10;} else {$rest += $iccid[$i];}}$rest  = $rest * 9;$str =  $rest % 10;} else {$str =  6;}return $iccid. $str;}
http://www.lryc.cn/news/331720.html

相关文章:

  • I.MX6ULL的MAC网络外设设备树实现说明一
  • vue弹出的添加信息组件中 el-radio 单选框无法点击问题
  • 蓝桥杯刷题day13——玩游戏【算法赛】
  • Three.js——scene场景、几何体位置旋转缩放、正射投影相机、透视投影相机
  • springboot集成rabbitmq
  • 腾讯云轻量4核8G12M应用服务器性能测评和优惠价格表
  • 判断点在多边形内的算法
  • Network AIS Receiver R400N
  • JavaScript循环
  • 9Proxy,跨境电商一站式解决方案
  • ObjectiveC-08-OOP面向对象程序设计-类的分离与组合
  • Qt 总结
  • 中间件复习之-RPC框架
  • AcWing 787. 归并排序——算法基础课题解
  • 力扣1379---找出克隆二叉树的相同节点(Java、DFS、简单题)
  • FLink学习(三)-DataStream
  • Failed to resolve import “Home/components/HomeNew.vue“. Does the file exist?
  • 《价值》-张磊-高瓴资本-3-建立人脉和信任;顺应趋势,把握机遇;
  • 游戏引擎中的物理应用
  • 复现k8s黄金票据学习
  • 08-JavaScript BOM定时器及JS动画
  • 边缘计算盒子与云计算:谁更适合您的业务需求?
  • 浅聊什么是Redis?
  • java算法day43 | ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零
  • 练气第六天
  • 认识 Redis 与 分布式
  • Linux初学(十二)AWK进阶
  • 文字识别 Optical Character Recognition,OCR CTC STN
  • 四、MySQL读写分离之MyCAT
  • 通讯录项目实现