php 生成国税局二维码

         今天是在公司的最后一天,早上完成工作后大佬还没时间给我安排新的工作,现在就有点时间来写下博客了,前段时间都没写的博客,哎!感觉这个习惯很难养成。

         今天来讲讲之前做的一个东西,就是要生成国税局的发票二维码,即 使用程序代码生成相应信息的二维码需要跟 税局发票助手 生成的二维码携带的信息是一样的。我使用的是 php 语言,一开始就上网百度了下 php 生成二维码的方法,一下子就能找出 phpqrcode 这个库(地址:http://phpqrcode.sourceforge.net/),下载后直接引入主要的文件 phpqrcode.php 再百度下 demo 代码即可生成(带 logo 的二维码),当然如果是生成普通的二维码的话上面就可以了,但是生成国税局发票的二维码还是不简单滴,涉及到 了 CRC-16 加密算法,百度了一篇博文讲解了国税总局发票助手二维码生成的CRC计算和便捷开票二维码编码内容格式,点击打开链接如下图:


可以看出,最最主要的就是计算这个 CRC 了,不过上面的这篇博文给出的代码不仅是 java 版本的,关键的是代码不完整,变量初值没给出来。这就很尴尬了。于是继续百度,发现 php 官网上有计算 crc16 的算法例子(点击打开链接),或直接见以下代码(我只拿了其中一份简洁的代码例子如下):

<?php 
function crc16($string) { 
  $crc = 0xFFFF; 
  for ($x = 0; $x < strlen ($string); $x++) { 
    $crc = $crc ^ ord($string[$x]); 
    for ($y = 0; $y < 8; $y++) { 
      if (($crc & 0x0001) == 0x0001) { 
          $crc = (($crc >> 1) ^ 0xA001); 
      } else { 
          $crc = $crc >> 1; 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值