`

(转)mysql中的一个加密函数

阅读更多
双向加密

  就让我们从最简单的加密开始:双向加密。在这里,一段数据通过一个密钥被加密,只能够由知道这个密钥的人来解密。MySQL有两个函数来支持这种类型的加密,分别叫做ENCODE()和DECODE()。下面是一个简单的实例:

  mysql> INSERT INTO users (username, password) VALUES ('joe', ENCODE('guessme', 'abracadabra'));

  Query OK, 1 row affected (0.14 sec)
  其中,Joe的密码是guessme,它通过密钥abracadabra被加密。要注意的是,加密完的结果是一个二进制字符串,如下所示:

  mysql> SELECT * FROM users WHERE username='joe';

  +----------+----------+

  | username | password |

  +----------+----------+

  | joe | ¡?i??!? |

  +----------+----------+

  1 row in set (0.02 sec)
  abracadabra这个密钥对于恢复到原始的字符串至关重要。这个密钥必须被传递给DECODE()函数,以获得原始的、未加密的密码。下面就是它的使用方法:

  mysql> SELECT DECODE(password, 'abracadabra') FROM users WHERE username='joe';

  +---------------------------------+

  | DECODE(password, 'abracadabra') |

  +---------------------------------+

  | guessme |

  +---------------------------------+

  1 row in set (0.00 sec)
  应该很容易就看到它在Web应用程序里是如何运行的——在验证用户登录的时候,DECODE()会用网站专用的密钥解开保存在数据库里的密码,并和用户输入的内容进行对比。假设您把PHP用作自己的脚本语言,那么可以像下面这样进行查询:

  $query = "SELECT COUNT(*) FROM users WHERE username='$inputUser' AND DECODE(password, 'abracadabra') = '$inputPass'";?>
  提示:虽然ENCODE()和DECODE()这两个函数能够满足大多数的要求,但是有的时候您希望使用强度更高的加密手段。在这种情况下,您可以使用AES_ENCRYPT()和AES_DECRYPT()函数,它们的工作方式是相同的,但是加密强度更高。
分享到:
评论

相关推荐

    mysql常用坐标系转换函数.docx

    在IT领域,尤其是在地理信息系统(GIS)中,坐标系转换是一个关键的概念。不同的坐标系用于适应不同的地理位置和测量标准,常见的有百度坐标系、WGS84坐标系和GJC02(国测局2000坐标系)。MySQL中的这两个函数——`...

    mysql字段加密

    MySQL 提供了两对可逆加密函数:AES_ENCRYPT 和 AES_DECRYPT,ENCODE 和 DECODE。其中,AES_ENCRYPT 和 AES_DECRYPT 的加密强度更高,因此我们选择使用 AES_ENCRYPT 和 AES_DECRYPT 实现加密。 插入数据 在插入...

    SQL Server转换为MySQL工具

    总之,“SQL Server转换为MySQL工具”是数据库迁移过程中的一项关键技术,它帮助用户克服了两个不同DBMS之间的数据迁移难题,确保了业务的连续性和数据的完整性。在实际操作中,用户需要根据自己的具体需求选择合适...

    MySQL mysql_query 函数执行SQL语句.docx

    在上面的示例中,mysql_query() 函数执行了一个 INSERT 语句,並返回 TRUE 或 FALSE,根据执行结果进行判断。 mysql_query() 函数是 PHP 中与 MySQL 数据库交互的重要函数,通过它可以执行各种 SQL 语句,並获取...

    MySQL函数大全中文版

    在MySQL中,函数是预定义的代码块,可以接受一个或多个参数,并返回一个值。这些函数广泛用于查询和处理数据,包括数值计算、字符串操作、日期和时间处理、条件判断以及聚合运算等。以下是一些关键的MySQL函数类别...

    易语言MYSQL密码加密

    "模块_取数据摘要"可能指的是一个特定的易语言模块,这个模块包含了用于处理数据摘要(如MD5或SHA系列)的函数。数据摘要是对数据的一种紧凑表示,通常用于验证数据的完整性和安全性。例如,MD5和SHA-1、SHA-256等都...

    MySql函数详解!!!

    MySQL数据库提供了很多函数包括: 数学函数:数学函数主要用于处理数字,包括整型、浮点数等。 字符串函数:字符串函数是MySQL中最常用的一类函数...加密函数:加密函数是MySQL用来对数据进行加密的函数。 格式化函数;

    MySQL查询语句及MySQL8.0新特性窗口函数

    以上只是MySQL函数和新特性的一部分,实际上MySQL还提供了大量的其他函数,如日期和时间函数、条件判断函数、系统信息函数和加密函数等,它们共同构成了强大的数据库操作工具箱。熟练掌握这些函数,可以大大提高...

    MySQL中如何进行数据加密和安全的设计?

    除了 MySQL 自带的加密函数,还可以使用其他加密库,如 Python 的 Crypto 库,来进行数据库密码的加密和解密。这种方法的安全性相对较高。使用这些库可以提供更多的加密算法和选项,以满足不同的安全需求。 数据...

    mysql内部函数

    - 包括位函数(如 `BIT_AND`, `BIT_OR`),加密函数(如 `ENCRYPT`, `AES_ENCRYPT`),信息函数(如 `USER`, `DATABASE`)以及其他特殊用途的函数。 10. **与GROUP BY子句同时使用的函数**: - `GROUP BY` 用于对...

    mysql函数库大全

    在MySQL数据库中,函数库是执行各种数据操作和计算的核心工具,涵盖了字符串处理、数值运算、日期时间操作、加密解密等多种功能。本文将详细解析MySQL函数库中的部分关键函数,帮助用户更好地理解和运用这些强大的...

    mysql8中文参考手册

    备份也基本为维护升级MySQL安装之前,他们可以用来传递一个MySQL安装另一个系统或设置复制从服务器。MySQL提供多种备份策略,你可以从中选择最适合您的安装要求的方法类型:逻辑与物理备份,充分与增量,等等。 创建...

    mysql函数大全doc

    在本指南中,我们将对 MySQL 函数大全进行详细的介绍,包括字符串操作函数、数字操作函数、日期和时间函数、条件函数、加密函数、信息函数、聚合函数等。 字符串操作函数 ASCII(str) 函数返回字符串 str 的最左面...

    易语言MYSQL密码加密源码(取数据摘要)

    总的来说,这个资源提供了使用易语言进行MySQL密码加密的一个实例,对于想要学习数据库安全和易语言编程的初学者来说非常有价值。通过深入理解并实践这段源码,开发者可以增强自己的安全编程能力,更好地保护应用...

    mysql与mssql的md5加密语句

    您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...

    mysql 整理非常好的函数pdf文档

    函数是MySQL中的预定义代码块,这些代码块能够执行特定的任务,并返回一个值。MySQL的函数主要可以分为数学函数、聚合函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数和格式化函数等几大类...

    访问mysql数据库内含AES加密存储算法-keshe.rar

    总结来说,这个项目结合了AES加密算法、MySQL数据库管理和MATLAB编程,为信息安全课程设计提供了一个实际应用示例。通过使用AES加密,可以增强数据库中敏感信息的安全性;MATLAB的数据库连接功能使得在MATLAB环境中...

    ACC转MYSQL

    总之,"ACC转MYSQL"是一个涉及数据库结构分析、数据迁移、SQL操作、用户界面交互等多个环节的复杂过程。这些PHP文件组合在一起,形成了一套完整的解决方案,帮助用户平滑地完成Access到MySQL的数据迁移。

    MySQL 5.7 中文文档

    MySQL 5.7是MySQL数据库管理系统的一个重要版本,它提供了许多增强的功能和性能优化,使得这个开源关系型数据库系统在处理大数据和复杂查询时更为高效。以下是对MySQL 5.7的一些关键知识点的详细说明: 1. **InnoDB...

Global site tag (gtag.js) - Google Analytics