1 or 1=1

1 or 1=1

您好,我在navicat实现了一下命令 发现username = 1 or 1=1结果集是 0,username = 1 or 1=1才是2,但1=1返回的不就是真吗,为什么还要加上1 or呢,两者的区别是什么呢。还有AES_DECRYPT中的第二个参数“helloworld”是随便输入什么都可以吗。在t_user这张表中password字段中的加密结果是对什么进行的加密呢

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。同学给的两个例子username = 1 or 1=1是一样的,老师作如下回答:

  1. username = 1和1=1是两个判断条件,中间需要用逻辑,or表示username = 1成立或者1=1成立,只要其中一个成立即可;

  2. AES_DECRYPT中的第二个参数“helloworld”是密钥,之前加密使用的密钥是helloworld,此处就需要写helloworld;如:

    http://img1.sycdn.imooc.com//climg/5e96d5ec09041cbb10630115.jpg

  3. 在t_user这张表中password字段中的加密结果是对明文的密码加密,如输入密码是“123456”,加密后密码如3E6BC27A781F0AC08BCFD78CC3DCE4CA,此时就无法辨别密码是什么了。

如果解决了你的疑惑,请采纳,祝学习愉快~ 

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师