fibjs 生成验证码

2022-12-02 00:19  1096人阅读  评论 (0)

原因

fibjs 的 gd 库不支持文字, 借助第三方如 PHP, Java 又不方便.

最好能使用纯 js 的方式生成验证码图片.

trek-captcha

trek-captcha 是一个纯 js 的生成验证码的库, 非常方便.

但是 trek-captcha 与 fibjs 有兼容性问题.

fibjs 兼容

我这里使用的是 0.4.0 版本.

修改 captcha.js 的 82 行.

    let v = Number(dr.readUInt32BE(n))

修改 captcha.js 的 170 行.

  gif.fill(Buffer.from(colors[r].replace(/\n/g, ''), 'latin1'), 0, 13 + 48 + 10 + 1/*, 'ascii'*/)

fibjs-captcha

当前这里我也发布了 npm 包, 可以直接安装 npm install fibjs-captcha.

示例

'use strict'

const fs = require('fs')
const captcha = require('fibjs-captcha')

const { token, buffer } = captcha()
// console.log(token, buffer)

fs.writeFile(`${token}.gif`, buffer);
豫ICP备09035262号-1