首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序那些事

    java安全编码指南之:输入校验

    简介 为了保证java程序的安全,任何外部用户的输入我们都认为是可能有恶意攻击意图,我们需要对所有的用户输入都进行一定程度的校验。 本文将带领大家探讨一下用户输入校验的一些场景。一起来看看吧。 我们知道在java中字符是基于Unicode进行编码的。但是在Unicode中,同一个字符可能有不同的表示形式。所以我们需要对字符进行标准化。 所以,我们在调用Runtime.exec()的时候,一定要小心注意检测用户的输入。 正则表达式的匹配 在正则表达式的构建过程中,如果使用用户自定义输入,同样的也需要进行输入校验。 考虑下面的正则表达式: (.*? +public\[\d+\] +. .*) 上面的表达式本意是想在public[1234]这样的日志信息中,搜索用户的输入。 但是用户实际上可以输入下面的信息: .*)|(.* 最终导致正则表达式变成下面的样子: (.*?

    1.3K31发布于 2020-09-24
  • 来自专栏Crossin的编程教室

    【Python 第4课】输入

    那啥,我们得有向程序“输入”信息的办法,才能和程序对话,进行所谓的“人机交互”。 python有一个接收命令行下输入的方法: input() 注意,和print不同的是,这次我们必须得加上()了,而且得是英文字符的括号。 好了,终于可以搬出那个弱智小游戏了,耶! 在代码编辑器中输入下面几句代码: print "Who do you think I am?" input() print "Oh, yes!" 然后,Run! 你会在命令行中看到,程序输出了第一句之后就停住了,这是input在等待你的输入输入你的回答,回车。你会看到程序的回答。注意!引号!!又是引号!!! (插一句,python还有一个输入的方法:raw_input(),它把所有的输入都直接当作一串字符,于是就可以不用加引号,有兴趣的同学可以试一试,体会一下两者的不同。

    77570发布于 2018-04-16
  • 来自专栏利志分享

    python输入输出及编码和注释

    # 1.py # # 对应python中文编码问题如下加上 #coding=utf-8 或者 # -*- coding: utf-8 -*- #coding=utf-8 # 对于python的注释有两种 # 一个是用 # 注释 一个是多行注释用 ''' ''' 下面有例子 ''' 这里是多行注释 ''' # 打印一个hello world # 注意文件一定要是utf8 无bom编码 不然会执行报异常的错误 异常错误如下:SyntaxError: Non-ASCII character '\xe6' in file 1.py on line 4, but no encoding declared; see test = raw_input() print '这里是打印输入结果:', test ''' 下面是这个是运行结果: hello world this is a boy jump the lazy dog i amboy 5 这里是打印输入结果: 5 '''

    58530编辑于 2022-04-25
  • 来自专栏程序那些事

    java安全编码指南之:输入注入injection

    SQL注入的意思是,用户输入了某些参数,最终导致SQL的执行偏离了程序设计者的本意,从而导致越权或者其他类型的错误。 也就是说因为用户输入的原因,导致SQL的涵义发送了变化。 很简单,当用户的username输入是下面的情况时: somebody' or '1'='1 那么整个SQL语句将会变成: select * from user where username='somebody 同样的,恶意攻击者可以给password输入下面的内容可以得到同样的结果: ' or '1'='1 整个SQL解析为: select * from user where username='somebody 上面的XML中,如果quantity是用户输入的数据的话,那么用户可以这样输入: 1</quantity><price>20.0</price><quantity>1 最后得出的XML文件如下: <item 如果用户输入了非定义格式的其他XML,就会报错。

    54521发布于 2020-11-03
  • 来自专栏图形学与OpenGL

    实验4 编码裁剪算法

    (2) 利用VC+OpenGL实现直线的编码裁剪算法,在屏幕上用一个封闭矩形裁剪任意一条直线。 (3) 调试、编译、修改程序。 (4) 尝试实现梁友栋裁剪算法。 3.实验原理: 在编码裁剪算法中,为了快速判断一条直线段与矩形窗口的位置关系,采用了如图A.4所示的空间划分和编码方案。 图A.4裁剪编码 4.实验代码: #include <GL/glut.h> #include <stdio.h> #include <stdlib.h> #define LEFT_EDGE 1 #define RIGHT_EDGE 2 #define BOTTOM_EDGE 4 #define TOP_EDGE 8 void LineGL(int x0,int y0,int x1 ,y0,x1,y1; int CompCode(int x,int y,Rectangle rect) { int code=0x00; if(y<rect.ymin) code=code|4;

    1.4K20发布于 2020-10-27
  • 来自专栏图形学与OpenGL

    实验4 编码裁剪算法

    2.实验内容: (1) 理解直线裁剪的原理(Cohen-Surtherland算法、梁友栋算法) (2) 利用VC+OpenGL实现直线的编码裁剪算法,在屏幕上用一个封闭矩形裁剪任意一条直线。 (4) 尝试实现梁友栋裁剪算法。 3.实验原理: 编码裁剪算法中,为了快速判断一条直线段与矩形窗口的位置关系,采用了如图A.4所示的空间划分和编码方案。 ? 图A.4 裁剪编码 裁剪一条线段时,先求出两端点所在的区号code1和code2,若code1 = 0且code2 = 0,则说明线段的两个端点均在窗口内,那么整条线段必在窗口内,应取之;若code1和 2 #define BOTTOM_EDGE 4 #define TOP_EDGE 8 void LineGL(int x0,int y0,int x1,int y1) { glBegin (GL_LINES int x0,y0,x1,y1; int CompCode(int x,int y,Rectangle rect) { int code=0x00; if(y<rect.ymin) code=code|4;

    1.1K10发布于 2018-10-09
  • 来自专栏学习内容

    utf8编码和utf8mb4编码(其它编码简介)

    UTF-8编码中,一个英文字符占用一个字节的存储空间,一个中文(含繁体)占用三个字节的存储空间。 UTF-8mb4支持4个字节的存储,如emoji表情。 UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要占用2个字节的存储空间(Unicode扩展区的一些汉字存储需要4个字节)。 (3)、utf8mb4专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。 三、为何要增加utf8mb4编码 MySQL在5.5.3版本以后增加了utf8mb4编码,其中mb4是most bytes 4的含义,用来兼容四个字节的Unicode(万国码)。 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。

    4.1K20编辑于 2023-08-09
  • 来自专栏jeremy的技术点滴

    javacv编码mp4视频

    目前在做的java项目里有一个需求,已经将用户在进行一个业务操作的操作行为记录下来了,形成了这些操作行为的指令文件,然后需要将这些指令文件编码为mp4视频。 上网搜索过后,找到两个替代方案jcodec和javacv,对比编码性能后,最终选择了javacv,纯java方案相对于jni方案性能差得不是一星半点啊。 的encodeFrame方法的第二个参数timestamp并没有用到,但在项目中进行mp4编码时,实际上是对每一帧指定的时间戳的,于是修改encodeFrame方法 @Override public void 又过了好几天,在正式环境上运行着,又出问题,进行mp4编码的Java进程crash了。crash日志时仅报了一下跟jni调用相关的错。 = height + 1; break; } } Mp4Encoder encoder = new JavaCVMp4Encoder(); encoder.make("/tmp/test.mp4")

    10K92发布于 2018-05-10
  • 来自专栏计算机二级C语言

    4寒假专辑:二、数据输入、输出

    4、printf(“a=%d,b=%d”,12, 34) 考试重点! 一定要记住是将12和34以第一部分的形式现在在终端也就是黑色的屏幕上。考试核心为:一模一样。 一定要记住是以第一部分的格式在终端输入数据。考试核心为:一模一样。 在黑色屏幕上面输入的为 a=12,b=34才可以把12和34正确给a和b 。有一点不同也不行。 指定输入的长度 (考试重点) 终端输入:1234567 scanf(“%2d%4d%d”,&x,&y,&z);x为12,y为3456,z为7 终端输入:1 234567 由于1和2中间有空格,所以只有 1位给x scanf(“%2d%4d%d”,&x,&y,&z);x为1,y为2345,z为67 5、字符和整型是近亲: int x=97; printf(“%d”,x); 结果为97 printf( “%c”,x); 结果为 a 6、输入时候字符和整数的区别(考试超级重点) scanf(“%d”,&x);这个时候输入1,特别注意表示的是整数1 scanf(“%c”,&x);这个时候输入1,特别注意表示的是字符

    84310发布于 2020-02-14
  • 来自专栏韩曙亮的移动开发专栏

    【Android RTMP】音频数据采集编码 ( FAAC 音频编码参数设置 | FAAC 编码器创建 | 获取编码器参数 | 设置 AAC 编码规格 | 设置编码输入输出参数 )

    FAAC 编码输入、输出格式 七、 FAAC 设置音频编码参数代码 Android 直播推流流程 : 手机采集视频 / 音频数据 , 视频数据使用 H.264 编码 , 音频数据使用 AAC 编码 成员变量定义 : 在初始化 FACC 编码器时 , 需要预先定义一些成员变量 , 这些变量在后续设置编码器参数 , 音频编码时都需要使用到 ; ① 输入样本个数 : 输入到 FAAC 编码器中的需要进行编码的 设置 FAAC 编码编码标准 ---- 设置 FAAC 编码编码标准 : 可以设置 MPEG2 , 或 MPEG4 , 目前一般设置 MPEG4 标准 ; // 设置编码格式标准, 使用 MPEG4 , 音质提升效果有限 ; 再提升编码效率, 会使音质降低很多 ) configurationPtr->aacObjectType = LOW; 六、 设置 FAAC 编码输入、输出格式 ---- 1 设置编码器的输入格式 : 这里设置输入的 PCM 的采样位数是 16 位 ; configurationPtr->inputFormat = FAAC_INPUT_16BIT; 2 .

    5.3K20编辑于 2023-03-27
  • 来自专栏E条咸鱼

    rc4+ctf常用编码加密shellcode

    前言 本文不会解释rc4加密是什么,以及ctf编码在我的理解中为一个大类,并非单独一种编码形式,当然不管是rc4还是ctf编码,其宗旨都是为了使字符串变得“毫无意义”从而达成无法被杀软正确的检查出是shellcode 目前针对rc4网上有不同的写法,主要根本是环境的不同,分别有 Python2 Python3 经过测试,Python3在脚本中计算rc4存在问题,常常导致过长的字符串加密后就无法还原,所以按照我看的某篇文章的说法是 rcpw = GenPassword(13) buf = rc4(kaisa_jiemi("123",<此处是恺撒的key>),'encode',rcpw) scode = rc4(buf, 'decode maketrans(before,after)#创建映射表 return s.translate(table) 特别注意的是,python2的注释貌似不允许有中文,反正我是一直报错,所以请删除注释 ctf编码用的是 ,恺撒编码,其实也就是根据一个偏移量去变换位置 那么细心的你此时肯定发现了,加密的代码和解密的代码,除了maketrans中before和after的位置发生变化外,前面string.和''.也有区别

    1.5K20编辑于 2022-10-27
  • 来自专栏AI那点小事

    CCF考试——201612-4压缩编码

    例如,文字E A E C D E B C C E C B D B E中, 5个单词A、B、C、D、E出现的频率分别为1, 3, 4, 2, 5,则一种可行的编码方案是A:000, B:001, C:01 , D:10, E:11,对应的编码后的01串为1100011011011001010111010011000111,对应的长度L为3×1+3×3+2×4+2×2+2×5=34。    输入格式   输入的第一行包含一个整数n,表示单词的数量。   第二行包含n个整数,用空格分隔,分别表示a1, a2, …, an出现的频率,即t1, t2, …, tn。 请注意a1, a2, …, an具体是什么单词并不影响本题的解,所以没有输入a1, a2, …, an。 输出格式   输出一个整数,表示文字经过编码后的长度L的最小值。 样例输入 5 1 3 4 2 5 样例输出 34 样例说明   这个样例就是问题描述中的例子。如果你得到了35,说明你算得有问题,请自行检查自己的算法而不要怀疑是样例输出写错了。

    44520发布于 2020-04-20
  • 来自专栏音视频开发技术

    FFmpeg编解码处理4-音频编码

    音频编码 编码使用avcodec_send_frame()和avcodec_receive_packet()两个函数。 音频编码的步骤: 初始化打开输出文件时构建编码器上下文 音频帧编码 1) 将滤镜输出的音频帧写入音频fifo 2) 按音频编码器中要求的音频帧尺寸从音频fifo中取出音频帧 3) 为音频帧生成 pts 4) 将音频帧送入编码器,从编码器取出编码帧 5) 更新编码帧流索引 6) 将帧中时间参数按输出封装格式的时间基进行转换 6.1 打开视频编码器 完整源码在open_output_file 音频FIFO输出的音频帧不含时间戳信息,因此需要重新生成时间戳 引入音频FIFO的原因:如果编码器不支持可变长度帧,而编码输入音频帧尺寸和编码器要求的音频帧尺寸不一样,就会编码失败。 AV_LOG_INFO, "read aframe from fifo error\n"); goto end; } // 4.

    2.4K30发布于 2019-04-01
  • 来自专栏猿计划

    java获取输入的地点的经纬度和编码等信息

    对于不规则,无序的数据做数据清洗,使之可以在GIS地图上展示出来数据。在地图上展示出来倒是不难,难的是如何对这些不规则,无序的数据做数据清洗,拿到每个的经纬度呢?

    74220发布于 2020-07-28
  • 来自专栏JavaPark

    Python 中的数据类型、变量、字符编码输入输出、注释

    在计算机语言表示能储存计算结果或能表示值的抽象概念,可以是任意数据类型,在程序中用变量名表示; 变量命名规则 只能是数字、字符、下划线的组合; 关键字不能声明为变量名; 变量名第一个字符不能是数字; 字符编码 ASCII 8个比特表示一个字节,一个字节所能表示的最大整数为255; Unicode 常用两个字节表示一个字符,包括字符集、编码方案等。 是为了解决传统的字符编码方案的局限性而产生,为各种语言中的每个字符都设定了统一且唯一的二进制编码,能够满足跨语言、跨平台进行文本转换及处理的要求; 输入与输出 输出:用print()在括号之中直接加上字符串或者表达式 ,然后直接输出想要的结果; >>> print("人生苦短,我用Python") 人生苦短,我用Python >>> print("1 + 2 = ", 1 + 2) 1 + 2 = 3 输入:用input ()函数将值赋给一个变量后,在交互式命令行就会等待用户输入输入完成后不会有提示,但在交互式命令行输入刚才的变量名后,获取的输入就会在命令行输出; >>> name = input("Name:") Name

    1.8K10编辑于 2022-06-15
  • 来自专栏图像处理与模式识别研究所

    登录信息时提示输入信息和插入信息是如何编码的?

    1、点击[编辑器] 2、点击[编译] 3、点击[编辑器] 4、点击[编译] 5、点击[编辑器] 6、点击[编译] 7、点击[index] 8、点击[index.wxss] 9、点击[

    1.3K10编辑于 2022-05-28
  • 来自专栏EDI技术知识

    Target 塔吉特的4种商品编码

    Target塔吉特共有4种商品编码:TCIN、DPCI、UPC、SKU,其中DPCI、UPC和TCIN在Target系统中是唯一的ID。 接下来我们一一了解下这4种商品编码。 (4)价格扫描仪上。使用 Target 的任何自助价格扫描器扫描商品时,DPCI 编号将显示在屏幕底部。(5)Target的应用程序上。 4、SKUSKU全称是 “Stock Keeping Unit”,零售商使用它来管理他们的库存。 如下图所示:TCIN 对应 买方物料编号SKU 对应 SKU编号UPC 对应 UPC客户包装代码以上便是Target 4种商品编码的介绍,如果想要了解更多,欢迎随时联系我们。

    1.4K20编辑于 2023-01-10
  • 来自专栏网站教程

    如何更改MySQL数据库的编码为utf8mb4编码

    utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。  采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。 更改数据库的编码为utf8mb4: 1. MySQL的版本 utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。 2. 将数据库和已经建好的表也转换成utf8mb4 更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ; 更改表编码:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATEutf8mb4_general_ci;  如有必要,还可以更改列的编码 总结 以上所述是小编给大家介绍的如何更改MySQL数据库的编码为utf8mb4,希望对大家有所帮助!

    3.1K00发布于 2021-07-30
  • 来自专栏程序IT圈

    【Python面试】 说说4种常用编码的区别?

    答:Python2内容默认ascii进行编码,而Python3对内容进行编码的默认为utf-8。 这个编码问题,也不是Python的问题,所有语言都有乱码的问题,所以今天主要跟大家聊聊这4个常见的编码 。 主要有以下几个编码: 1、ASCII ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,只有256个字符。 但是如果你写的文本基本上都是英文的,用Unicode编码比ascii编码需要多一倍的存储空间,在存储和传输上十分不方便。 utf-8应用而生,它是一个"可变长的编码方式",如果是英文字符,则采用ascii编码,占用一个字节.如果是常用汉字,就占用三个字节,如果是生僻的字就占用4~6个字节. 4、GBK GBK是只用来编码汉字的

    41530发布于 2021-01-19
  • 来自专栏代码伴一生

    C# 计算输入汉字的GBK编码,十六进制数输出

    C# 计算输入汉字的GBK编码,十六进制数输出 using System; using System.Collections.Generic; using System.Linq; using System.Text >返回gbk的编码对象的字节数组,包含对cWord进行编码的结果。 :{1,4:x4}" ,cWord, n);//输出汉字对应是十六进制GBK编码 Console.ReadKey(); } } catch { Console.WriteLine("输入错误! 请输入汉字字符!"); } } } }

    1.4K20发布于 2021-11-02
领券