展开

关键词

常用

作用: 防止恶意破解密、刷票、论坛灌水等; 有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试 敏感操作前的提示 防止恶意注册 表现方式: 随机 Gif动画 滑动 点选 短信 手机语音 接下来会使用纯前端方式实现其中的一些表现,如随机、滑动等。 本篇记录随机。 ? 随机 一般来讲,数、gif、短信语音等放在后端实现,但本着技术无界限的原则,前端依然是能照葫芦画瓢给实现出来的。 分析 实现步骤: canvas画布 成随机 随机颜色 背景色(可固定色) 噪音线设置 绘制 其他一些基础内容也包含其中,如点击刷新、点击下一步等操作。 开始绘制 方接收一个dom对象 判断浏览器对canvas支持程度 取随机 设置canvas宽高大小 绘制 具体过程如下: // 图片绘制 drawCode(domCvs) { let

65830

php成动态 加减

php成动态 加减 一、动态gif 预览效果: 202107091625802320613291.gif <? php /** *imagecode 成包含的gif图片的函数 *@param $string *@param $width 宽度 *@param $height 高度 **/ function .chr(($int>>8)&0xff)); } function getanimation(){ return($this->gif); } } 二、加减 php namespace mobile\components; /** * @author fenghuo * * 改造的加减类 * 使用示例 verifycode::get(1,2); * 示例 verifycode::check($code); */ class verifycode { /** * php */ public static function

6430
  • 广告
    关闭

    90+款云产品免费体验

    提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    千题案例】每日LeetCode打卡——88. 回文

    前言 原题样例: 回文 Ⅱ C#方:贪心 Java 方:贪心 总结 前言 题 每天打卡一道题,既是一个学习过程,又是一个分享的过程???? 题 原题样例: 回文 Ⅱ 给定一个非空 s,最多删除一个。判断是否能成为回文。 示例1: 输入: s = "aba" 输出: true 示例2: 输入: s = "abca" 输出: true 解释: 你可以删除c。 示例3: 输入: s = "abc" 输出: false 提示: 1 <= s.length <= 105 s 由小写英文母组成 C#方:贪心 与判断简单回文的变体类似,只不过在遇到不同的时再分为两种情况去判断是否为回文子 文章采用 C#和 Java 两种编程语言进行解题 一些方也是参考力扣大神写的,也是边学习边分享,再次感谢大佬们 那今天的题分享到此结束啦,明天再见!

    7530

    JavaScript是否包含英文、数或者汉实例

    是否包含英文、数或者汉实例: 本章节分享一段代实例它实现了能够中是否包含英文、数或者汉的功能。 此函数比较灵活,能够进行定制,代实例如下: function done(input, withEnglishCharacter, withNumber, withChineseCharacter) { Boolean(withChineseCharacter)) {      return false; //如果英文母、数和汉都没有,则返回false    }    var pattern =

    5710

    imagestring太小,采用imagettftext函数的修正版

    imagestring只内置了5中大小,在前端根据美工设计常常无满足需求。采用imagettftext函数图片,可自定义体和大小。源如下: <? .= $srcstr[mt_rand(0,30)];     }     return $strs; }   //随机成的 $str = random(5);    //图片的宽度 $width   = 80;         //图片的高度 $height = 40;        //声明需要创建的图层的图片格式 @ header("Content-Type:image/png"); color = imagecolorallocate($im, 100, 207, 2); //边框颜色 $col = imagecolorallocate($im, 100, 164, 26); //体 0; $i < 800; $i++) {     imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix); }   //输出

    65010

    C#给定的形式的日期是否合

    这段C#代用于日期的有效性,对于用户输入的不规则日期也作了简单处理,比如用户输入了“今天”,则代会认为用户要返回的是今天的日期,另外可以对纯数的日期进行解析,比如:20130906 /// < summary> /// 日期是否合,对不规则的作了简单处理 /// /// <param name="date">日期</param if (IsNullOrEmpty(date)) { return true; } //清除要中的空格 Convert.ToDateTime(date).ToString("d"); return true; } catch { //如果日期中存在非数 month = date.Substring(4, 2); string day = date.Substring(6, 2); //

    11850

    iOS 银行卡号有效性校Luhn (银行卡号) & 身份:【校年龄、校是否合身份成规则】

    1、银行卡号有效性问题Luhn 2.1、定义工具类 IdentityCardTool 2.1.1 身份号判断 2.1.2 根据身份获取日 2.1.3 从日上获取年龄 2.1.4 判断是否小于 18岁 2.2、用举例 前言 应用场景: 1、提款卡的卡号校 兼容对公账户录入场景: 结账户类型是对公的时候,不卡号规则。 _input_charset=utf-8&cardNo 2、进件风险控制强化: 通过身份提取人出年月日,与当前日进行比较,如<18周岁, 则提示“人未满18周岁,禁止进件!” Luhn(又叫模10原理:将每个奇数加倍和使它变为单个的数,如果必要的话通过减去9和在每个偶数上加上这些值。 如果此卡要有效,那么,结果必须是10的倍数 应用场景:提款卡的卡号校 ? 用 if(!

    55720

    PHP正则是否为数的两种方并附常用正则

    php 正则是否为数一: php中利用正则表达式是否为数一件非常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写,在此利用正则表达式的方式来列举一下判断数的方 附一些常用的正则运:^[0-9]*$ n位的数:^\d{n}$ 至少n位数:^\d{n,}$ m-n位的数:^\d{m,n}$ 零和非零开头的数:^(0|[1-9] :^.{3}$ 由26个英文母组成的:^[A-Za-z]+$ 由26个大写英文母组成的:^[A-Z]+$ 由26个小写英文母组成的:^[a-z]+$ 由数和26 个英文母组成的:^[A-Za-z0-9]+$ 由数、26个英文母或者下划线组成的:^\w+$ 用户密:^[a-zA-Z]\w{5,17}$ 正确格式为:以母开头,长度在6- \w+)*$ InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)? 电话号:^(\d3,4\d3,4|\d{3,4}-)?

    16710

    Django rest-framework的jwt认

    头部内容:公司名称、项目信息,也可以为空 将这些数据转换为json,再讲json加密成base64 载荷部分的 载荷部分的内容:用户账号、客户端设备信息、用户主键信息(需要提供用户账号并 ton过后才可以拿到)、过期时间(根据当前时间与配置的过期时间相结合) 将这些数据转换为json,再讲json加密成base64 签名部分的 签名部分的内容:将头部内容加密结果 ,载荷部分内容加密结果作为成员,再从服务器上获取安全 将这些数据转换为json,再讲json加密成不可逆的HS256 连接成token 将三个用.拼接三段式token jwt (eg:异地登录) 过期时间与当前时间比对,判断该token是否在有效时间内 碰撞校签名 将用户最新提交的token中头、载荷、服务端的安全组成典转换成json 采用不可逆HS256加密对新组成的 json加密新的签名 新的签名与第三段签名碰撞比对,一致的话才能确保token是合的。

    52910

    c++ LeetCode (初级篇) 九道例题代详解(二)

    进阶: 如果输入包含 unicode 怎么办?你能否调整你的解来应对这种情况? 五、回文 给定一个它是否是回文,只考虑母和数,可以忽略母的大小写。 说明:本题中,我们将空定义为有效的回文。 ,我的分别把正负值分开,多了很多代和判断,而这里直接放在一个循环里,通过flag来确定号就挺好的。 那我们只需要纪录下第一个,然后计有几个一样的写上就好,遇到不一样的在替换纪录的继续计数,比如1112,三个1=31,替换为2,有一个2=12  组合起来就是3112 看看大佬们的代:1ms左右 后面还是会陆续更新leetcode篇,也有其他面试教程篇或者网络编程篇之类的。想要的话就关注我把!!!!感谢各位。

    49051

    少用 string.Format

    开发人员必须对成的进行测试和,才能发现其中出现的问题; 替换操作是根据格式中序号来完成的,但是编译器并不会格式待替换序号数量和参数的个数是否相等,因此在程序运行时就会报错,提示参数个数与待替换序号数量不匹配 内插可以让我们写出易于阅读的代,编译器也可以用它实现完备的静态类型检查机制,进而降低出错的机率,并且它还提供了丰富的语是我们可以使用合适的方。下面我们就来看一下内插。 ; 2.讲解 这种形式的代方便了开发人员阅读也很容易是否合预期,并且因为表达式都写在了中,因此避免了参数数量和待替换部分数量不匹配的问题。 number} 辆车"); 这里需要注意的是如果在内插中出现了装箱操作并且代运行的很频繁,那么就会严重的性能问题,这时我们就需要自己把参数转换为,避免在内插操作中进行装箱。 Console.WriteLine($"我有 {number.ToString()} 辆车"); Tip:内插操作所成的代会调用一个参数为 params 的对象数组的格式化方

    30220

    数据结构 | 只要30行代,实现快速匹配的KMP

    今天我们来聊一个新的匹配——KMP。 KMP这个名不是视频播放器,更不是看毛片,它其实是由Knuth、Morris、Pratt这三个大牛名的合称。 应用场景 在计机领域当中匹配其实是一个非常常见的问题,我们使用它的场景也多到不可计数。比如在一个已经打开的页面当中搜索关键词,再比如说git里面的代变动的记录,以及论文的查重等等。 所以早期的时候匹配是一个难题,既然是难题那么显然就会有很多人来研究,也因此出了很多成果,很多大牛发表了匹配的,其中KMP由于效率很高、实现复杂度低被应用得最广。 到这里,我们就知道KMP是用来匹配的。 比方说我们有两个,A是:I hate learning English. B是hate learning,很明显B是A。 为了简化编,我们假设是从1位置开始的,所以我们在0的位置添加一个$号作为占位。对于大部分情况都是没有重来的机会的,失败了直接归零。

    38820

    使用RSA对接口参数签名及

    通常情况下为了达到以上所描述的目的,我们首先会想到使用非对称加密对传输的数据进行签名以发送方的身份,而RSA加密是目前比较通用的非对称加密,经常被用于数签名及数据加密,且很多编程语言的标准库中都自带有 本文将使用Java标准库来实现RSA密钥对的成及数签名和签,密钥对中的私钥由请求方系统妥善保管,不能泄漏;而公钥则交由系统的响应方用于签名。 UsBuKEwIgfJRcrnT7xrXgg2vy3wBiD0qYU1VaJvsDnN3F8G211lECIEAublTLOg2ahStZ/8+GXMsmYThvFkodPEK0HdB2MVmnAiB9E4ORf2cWfVSmyY5QTlDYfvBHGccol/nU+4WKZFW/2g== 然后我们需要一个可以成签名签名的工具类 ,因为sign不参与拼接 String sign = (String) param.remove("sign"); // 对签名进行url解 "; } return "签名失败,非请求"; } } 编写完以上代后,启动SpringBoot项目,然后运行发送方的代,控制台输出结果如下: ?

    41630

    序列比对(21)中间问题的及实现代

    前文介绍了基序发现问题和中间问题。本文给出了中间和实现代。 中间问题的简单及伪代 《序列比对(20)基序发现问题的及实现代》给出了基序问题的和实现代。 本文将介绍中间问题的,并给出实现代。 ? 由于要遍历所有可能的起始位点,如前文《序列比对(20)基序发现问题的及实现代》一样,我们采用树结构以及DFS(深度优先搜索)。 其简单如下(伪代): ? 引自《物信息学导论》 ? 引自《物信息学导论》 ? 分支定界策略改进简单 ? 用分支定界策略改进上述简单的伪代如下: ? 实效果 我们用《物信息学导论》书中的两组序列进行实,分别用简单(medianStr_BF.exe)和分支定界(medianStr_BB.exe)去计中间。 代实现过程中考虑到这一点,做了改进,使得多条序列长度不一致的情况下也可以用此代来计中间

    37020

    JWT实现token-based会话管理

    使用JWT来传输数据,实际上传输的是一个,这个就是所谓的json web token。所以广义上,JWT是一个标准的名称;狭义上,JWT指的就是用来传递的那个token。 要知道一个JWT是怎么以及如何用于会话管理,只要弄清楚JWT的数据结构以及它签发和的过程即可。 这个json中的typ属性,用来标识整个token是一个JWT;它的alg属性,用来说明这个JWT签发的时候所使用的签名和摘要,常用的值以及对应的如下: ? 按照前面alg可用值的说明,HS256其实包含的是两种:HMAC和SHA256,前者用于成摘要,后者用于对摘要进行数签名。这两个也可以用HMACSHA256来统称。 正好找到一个在线工具能够测试这个签名的结果,比如我们拿前面的header和payload来测试,并把“secret”这个就当成密钥来测试: ?

    29420

    Oracle数据库,详解Oracle成随机数的方

    在日常活中,随机数对于我们而言并不陌,例如手机短信就是一个随机的数;对于统计分析、机器学习等领域而言,通常也需要成大量的随机数据用于测试、数据抽样、等。 那么今天我们就来谈谈如何在 Oracle 数据库中成随机数据。 计成的都是伪随机数,并不是真正的物理随机数。 成 6 位数手机 以下语句可以用于成一个由 6 位数组成的: ? lpad 函数可以确保数据不够 6 位时在前面补足 0。 成随机 成固定长度的随机 除了随机数之外,DBMS_RANDOM.STRING 函数可以用于一个随机: ? 参数 len 表示返回的长度。例如: ? 以上示例返回了一个长度为 10,由任意可打印组成的随机成可变长度的随机 那么,怎么返回一个长度可变的随机呢?

    80110

    100来行实现一套灵活可扩展的 JWT 库

    JWT 的原理 我们要想实现 JWT 就得先了解他的原理,我尽量用简短的话去解释: 下面来一段真实的由 JWT 成的 Token : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 header(头信息).payload(内容).signature(签名)的一段。 是不是豁然开朗了,这又叫 token ,因为这 token 里面包含了所需要的信息,相比传统的 session 需要到服务器里面去取信息的方式,更加的灵活,独立。 同时里面的 payload 是可以被解密的,所以存在一定性的被破译风险(当然你可以使用比较难破译的去降低这个风险)。 环境一般会使用会带有私钥的可逆加密去加密 header(头信息)和 payload(内容),比如: HMAC ,RSA ,再配合 MD5 或者 SHA 进行签名。

    7440

    JavaUtil_04_成器

    一、原理 其实就是随机。原理上可分为两种: 1.简单的 直接通过母和数的ASCII成。本文采用的就是这种。 2.复杂的 通过一个随机,一个指定(如accesskey),和当前时间来进行成,期间还经过SHA1加密。 1.CheckSumBuilder—成器 package com.ray.sms.aliyun.util; import java.util.Random; /**@desc : 工具类 * @date : 2017年11月7日 上午10:07:46 */ public class CheckSumBuilder { /** * @desc :1.随机 * * @param length 长度 * @param type 类型 (0: 仅数; 2:仅; 别的数:数) * @return

    37920

    openresty实现接口签名安全认

    如上,这种方式简单粗暴,通过调用getproducts方即可获取品列表信息了,但是 这样的方式会存在很严重的安全性问题, 没有进行任何的,大家都可以通过这个方获取到品列表,导致品信息泄露。 按照请求参数名称将所有请求参数按照母先后顺序排序得到:keyvaluekeyvalue...keyvalue      如:将arong=1,mrong=2,crong=3 排序为:arong= 1, crong=3,mrong=2  然后将参数名和参数值进行拼接    得到参数:arong1crong3mrong2。    将secret加在参数的头部后进行MD5加密 ,加密后的需大写。 &123456" ==》md5 ===》服务器成的sign ===》如果和客户端传过来的sign一致,就代表合===》参数是否被篡改 三、不可复制 第二种方案就够了吗?

    74140

    加密盐

    1 背景 涉及身份的系统都需要存储用户的认信息,常用的用户认方式主要为用户名和密的方式,为了安全起见,用户输入的密需要保存为密文形式,可采用已公开的不可逆的hash加密, 比如SHA256, SHA512, SHA3等,对于同一密,同一加密相同的hash值,这样,当用户进行身份时,也可对用户输入的明文密应用相同的hash加密,得出一个hash值,然后使用该 salt”是在加密过程中成的随机; 可以将salt放到passWord前面作为前缀或放到passWord后面作为后缀得到新的PS,即,PS = password和salt的组合; 密密文 2.2 密 输入: 密passWordCur 输出:密是否成功 处理: 1)、取出当前用户密加密时使用的盐值salt 2)、得到本次输入的密passWordCur和盐值 对典攻击和暴力破解,攻击者均采用逐密尝试的方式,目前没有很好的手段来阻止典攻击和暴力破解攻击,只能是想办让这两种攻击方式变得相对低效一些,而相同的密不同的hash值便能让攻击者针对每一个hash

    77910

    相关产品

    • 云服务器

      云服务器

      云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券