Maison >Problème commun >Quels sont les mécanismes de sécurité utilisés pour mettre en œuvre l'authentification ?
Les mécanismes de sécurité utilisés pour réaliser l'authentification de l'identité sont : le mécanisme de cryptage et le mécanisme de signature numérique. Le cryptage consiste à utiliser un algorithme spécial pour modifier les données d'information originales, de sorte que même si des utilisateurs non autorisés obtiennent les informations cryptées, ils ne peuvent toujours pas comprendre le contenu de l'information ; toutes les demandes d'interface de données du mécanisme de signature doivent passer par une signature numérique ; La signature utilise la spécification "MD5" 32 bits.
Les mécanismes de sécurité utilisés pour réaliser l'authentification de l'identité sont des mécanismes de cryptage et des mécanismes de signature numérique.
Le cryptage consiste à utiliser un algorithme spécial pour modifier les données d'information d'origine, de sorte que même si des utilisateurs non autorisés obtiennent les informations cryptées, ils ne peuvent toujours pas les déchiffrer car ils ne connaissent pas la méthode. Comprendre le contenu du message. En aéronautique, il désigne l'opération consistant à utiliser quelques points de contrôle connus sur des photos de photographie aérienne pour ajouter des points de contrôle à la paire d'images ou à l'ensemble de la ceinture de photographie aérienne en mesurant et calculant les photos.
Mécanisme de signature
Toutes les demandes d'interface de données doivent transmettre une signature numérique, et la signature numérique utilise la spécification MD5 32 bits.
Règles de calcul de l'algorithme de signature :
sign= ((noncestr + openid + PublicKey + timestamp).MD5()+ PrivateKey).MD5().ToLower();
Première étape :
//拼接字符串 String str1 = (随机字符串noncestr + 开放平台openid + 公钥PublicKey+ 时间戳timestamp); //对str1进行md5运算之后得到str1MD5; String str1MD5 = str1.MD5();
Deuxième étape :
//第二次拼接字符串 String str2 = (第一步得到的str1MD5 + 私钥PrivateKey); //对str2进行md5运算之后并转换为小写的32位 String sign = str2.MD5().ToLower();
Toutes les demandes doivent être transmises en chiffres Signez, le système vérifiera que la signature numérique est correcte avant de faire d'autres réponses.
Exemple :
Openid:IOS1101 Timestamp:1439950776 Noncestr:xy19102724 PrivateKey: defe97621eef237896e489228fb68786 PublicKey: 38dae8d211692021116dd85793487f6b
Signe correct : 6f2573587a4ca0379d32a8975014cc0f
Pour plus de connaissances connexes, veuillez visiter le Site Web PHP chinois ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!