Maison base de données tutoriel mysql 在MySQL中根据规则生成随机密码_MySQL

在MySQL中根据规则生成随机密码_MySQL

Jun 01, 2016 pm 01:41 PM
存储 安全性

bitsCN.com
在MySQL中根据规则生成随机密码 MySQL 5.0 以后的版本开始支持存储过程,存储过程具有壹致性、高效性和安全性。MySQL 5.0 之前的版本并不支持存储过程,然而随着 MySQL 技术的日趋完善,存储过程将在以后的项目中得到 广泛的应用。 在我的应用中,我需要在用户首次注册时为该帐号生成一个随机密码。所生成的密码必须满足一定的要求,这些要求由系统管理员进行配置。 我们提供了下面几个对密码的要求规则,这些规则可组合使用: 1- 要求大写字母 UPPERCASE                =====> 缩写 [U] 2- 要求小写字母 LOWERCASE               =====> 缩写 [L] 3- 要求使用数字 NUMBER                      =====> 缩写 [N] 4- 可以是任意字符 ANY_CHARACTER   ======> 缩写 [A] 5- 必须有非字母和数字的字符 NON_ALPHANUMERIC_CHARACTER =====> 缩写 [S] 因此我想通过创建一个动态函数 "RANDOM_PASSWORD" 来根据要求返回随机的密码。   系统管理员只需要传递所需密码的规则就会返回对应的随机密码。 例如要求如下: 首字符必须大写             ======> U 第二个字符必须小写       ======> L 第三个字符必须是数字    ======>N 第四个字符随意             ======>A 第五个字符必须是非字母和数字  ======>S 第六个字符必须是数字    ======> N     那么你可以使用 "ULNASN" 参数来获取随机密码。 所生成的密码程度跟传递的参数长度是一致的。在我们这个例子中生成的密码长度是 6。你可以使用下面的方法来调用这个函数: 1RANDOM_PASSWORD('ULNASN')在MySQL的控制台编写函数定义前,先要将数据库中可能已经存在的此函数定义删除,然后须将分隔符更改为$,其实我本想将分隔符改成#,后来发现没有成功,不知道是为什么,在命令行下删除 RANDOM_PASSWORD() 函数的定义与更改分隔符使用如下命令:   1mysql> DROP FUNCTION IF EXISTS RANDOM_PASSWORD;2mysql> delimiter $接下来可以编写该函数,经过我调试通过的源代码如下:  01CREATE FUNCTION RANDOM_PASSWORD (str VARCHAR(255))02RETURNS VARCHAR(255)03BEGIN04    DECLARE UPPER_CASE VARCHAR(26) DEFAULT 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';05    DECLARE LOWER_CASE VARCHAR(26) DEFAULT 'abcdefghijklmnopqrstuvwxyz';06    DECLARE NUMBERS VARCHAR(10) DEFAULT '0123456789';07    DECLARE TEMP_CHARACTER VARCHAR(255) DEFAULT '';08    DECLARE NON_ALPHANUMERIC_CHARACTERS VARCHAR(255) DEFAULT '~!@#$%^&*()_+-=`:;,.?/';09        DECLARE ALL_STRING VARCHAR(255) DEFAULT 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+-=`:;,.?/';10    DECLARE STR_LENGTH INT DEFAULT 0;11    DECLARE i INT DEFAULT 0;12    DECLARE RANDOM_CHARACTER CHAR(1) DEFAULT ' ';13    DECLARE PASSWORD_RETURNED VARCHAR(255) DEFAULT '';14     15    SET STR_LENGTH = CHAR_LENGTH(str);16     17    WHILE i select RANDOM_PASSWORD('ULNASN') PASSWORD;2    +----------+3| PASSWORD |4+----------+5| Bv1n`8   |6+----------+71 row in set (0.00 sec)在我这里将返回的随机密码是:Bv1n`8 当然,你运行的结果可能不一样,因为这是随机的。  作者 Bairrfhoinn bitsCN.com

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Performances et sécurité de PHP5 et PHP8 : comparaison et améliorations Performances et sécurité de PHP5 et PHP8 : comparaison et améliorations Jan 26, 2024 am 10:19 AM

PHP est un langage de script côté serveur largement utilisé pour développer des applications Web. Il s'est développé en plusieurs versions, et cet article discutera principalement de la comparaison entre PHP5 et PHP8, avec un accent particulier sur ses améliorations en termes de performances et de sécurité. Jetons d’abord un coup d’œil à quelques fonctionnalités de PHP5. PHP5 est sorti en 2004 et a introduit de nombreuses nouvelles fonctions et fonctionnalités, telles que la programmation orientée objet (POO), la gestion des exceptions, les espaces de noms, etc. Ces fonctionnalités rendent PHP5 plus puissant et flexible, permettant aux développeurs de

Huawei lancera l'année prochaine des produits de stockage MED innovants : la capacité du rack dépasse 10 Po et la consommation électrique est inférieure à 2 kW Huawei lancera l'année prochaine des produits de stockage MED innovants : la capacité du rack dépasse 10 Po et la consommation électrique est inférieure à 2 kW Mar 07, 2024 pm 10:43 PM

Ce site Web a rapporté le 7 mars que le Dr Zhou Yuefeng, président de la gamme de produits de stockage de données de Huawei, a récemment assisté à la conférence MWC2024 et a spécifiquement présenté la solution de stockage magnétoélectrique OceanStorArctic de nouvelle génération conçue pour les données chaudes (WarmData) et les données froides (ColdData). Zhou Yuefeng, président de la gamme de produits de stockage de données de Huawei, a publié une série de solutions innovantes Source de l'image : Le communiqué de presse officiel de Huawei joint à ce site est le suivant : Le coût de cette solution est 20 % inférieur à celui de la bande magnétique, et son coût est de 20 % inférieur à celui de la bande magnétique. la consommation électrique est 90 % inférieure à celle des disques durs. Selon les médias technologiques étrangers blockandfiles, un porte-parole de Huawei a également révélé des informations sur la solution de stockage magnétoélectrique : le disque magnétoélectronique (MED) de Huawei est une innovation majeure dans le domaine des supports de stockage magnétiques. ME de première génération

Défis de sécurité dans le développement de Golang : Comment éviter d'être exploité pour la création de virus ? Défis de sécurité dans le développement de Golang : Comment éviter d'être exploité pour la création de virus ? Mar 19, 2024 pm 12:39 PM

Défis de sécurité dans le développement de Golang : Comment éviter d'être exploité pour la création de virus ? Avec la large application de Golang dans le domaine de la programmation, de plus en plus de développeurs choisissent d'utiliser Golang pour développer différents types d'applications. Cependant, comme pour d’autres langages de programmation, le développement de Golang présente des problèmes de sécurité. En particulier, la puissance et la flexibilité de Golang en font également un outil potentiel de création de virus. Cet article abordera les problèmes de sécurité dans le développement de Golang et fournira quelques méthodes pour éviter G.

Processus d'installation de Git sur Ubuntu Processus d'installation de Git sur Ubuntu Mar 20, 2024 pm 04:51 PM

Git est un système de contrôle de version distribué rapide, fiable et adaptable. Il est conçu pour prendre en charge des flux de travail distribués et non linéaires, ce qui le rend idéal pour les équipes de développement de logiciels de toutes tailles. Chaque répertoire de travail Git est un référentiel indépendant avec un historique complet de toutes les modifications et la possibilité de suivre les versions même sans accès au réseau ni serveur central. GitHub est un référentiel Git hébergé sur le cloud qui fournit toutes les fonctionnalités du contrôle de révision distribué. GitHub est un référentiel Git hébergé sur le cloud. Contrairement à Git qui est un outil CLI, GitHub dispose d'une interface utilisateur graphique basée sur le Web. Il est utilisé pour le contrôle de version, ce qui implique de collaborer avec d'autres développeurs et de suivre les modifications apportées aux scripts et aux scripts au fil du temps.

Quelle est la relation entre les techniques de gestion de la mémoire et la sécurité dans les fonctions Java ? Quelle est la relation entre les techniques de gestion de la mémoire et la sécurité dans les fonctions Java ? May 02, 2024 pm 01:06 PM

La gestion de la mémoire en Java implique une gestion automatique de la mémoire, utilisant le garbage collection et le comptage de références pour allouer, utiliser et récupérer la mémoire. Une gestion efficace de la mémoire est cruciale pour la sécurité car elle évite les débordements de tampon, les pointeurs sauvages et les fuites de mémoire, améliorant ainsi la sécurité de votre programme. Par exemple, en libérant correctement les objets qui ne sont plus nécessaires, vous pouvez éviter les fuites de mémoire, améliorant ainsi les performances du programme et évitant les plantages.

Win11 doit-il installer un logiciel antivirus ? Win11 doit-il installer un logiciel antivirus ? Dec 27, 2023 am 09:42 AM

Win11 est livré avec un logiciel antivirus. De manière générale, l'effet antivirus est très bon et n'a pas besoin d'être installé. Cependant, le seul inconvénient est que vous verrez que le virus est d'abord désinstallé au lieu de vous le rappeler à l'avance. vous en avez besoin. Si vous l'acceptez, vous n'avez pas besoin de le télécharger. Win11 doit-il installer un logiciel antivirus ? Réponse : Non. De manière générale, Win11 est livré avec un logiciel antivirus et ne nécessite aucune installation supplémentaire. Si vous n'aimez pas la façon dont le logiciel antivirus fourni avec le système win11 est géré, vous pouvez le réinstaller. Comment désactiver le logiciel antivirus fourni avec Win11 : 1. Tout d'abord, nous entrons dans les paramètres et cliquons sur "Confidentialité et sécurité". 2. Cliquez ensuite sur « Centre de sécurité Windows ». 3. Sélectionnez ensuite « Protection contre les virus et les menaces ». 4. Enfin, vous pouvez le désactiver

Comment utiliser correctement sessionStorage pour protéger les données sensibles Comment utiliser correctement sessionStorage pour protéger les données sensibles Jan 13, 2024 am 11:54 AM

Comment utiliser correctement sessionStorage pour stocker des informations sensibles nécessite des exemples de code spécifiques Que ce soit dans le développement Web ou le développement d'applications mobiles, nous devons souvent stocker et traiter des informations sensibles, telles que les informations de connexion des utilisateurs, les numéros d'identification, etc. Dans le développement front-end, l'utilisation de sessionStorage est une solution de stockage courante. Cependant, étant donné que sessionStorage est un stockage basé sur un navigateur, certains problèmes de sécurité doivent être pris en compte pour garantir que les informations sensibles stockées ne soient pas consultées et utilisées de manière malveillante.

Garanties de sécurité des itérateurs pour les bibliothèques de conteneurs C++ Garanties de sécurité des itérateurs pour les bibliothèques de conteneurs C++ Jun 05, 2024 pm 04:07 PM

La bibliothèque de conteneurs C++ fournit les mécanismes suivants pour assurer la sécurité des itérateurs : 1. Garantie d'immuabilité du conteneur ; 2. Itérateur de copie ; 3. Plage pour la boucle ; 4. Itérateur de const ;

See all articles