编写一个登录验证程序,要求用户输入账号和密码输入正确提示登录成功否则显示登录失败,用户信息包括账号:zxcvbn密码:111111账号:asdfgh密码:222222用python写
时间: 2024-06-06 12:11:14 浏览: 35
account_1 = "zxcvbn"
password_1 = "111111"
account_2 = "asdfgh"
password_2 = "222222"
input_account = input("请输入账号:")
input_password = input("请输入密码:")
if (input_account == account_1 and input_password == password_1) or (input_account == account_2 and input_password == password_2):
print("登录成功!")
else:
print("登录失败!")
相关问题
html设计登录页面,编写正则表达式,为密码增加验证功能 要求密码至少 8 个字符,必须只包含字母(含大小写)、数字和特殊字符(键盘上所有特殊 字符),并使用 zxcvbn 计算密码强度
以下是一个基本的 HTML 登录页面示例,其中包含密码的验证功能和 zxcvbn 密码强度计算器:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.4.2/zxcvbn.min.js"></script>
<script>
function checkPasswordStrength() {
var password = document.getElementById("password").value;
var result = zxcvbn(password);
var strengthMeter = document.getElementById("strength-meter");
var strengthText = document.getElementById("strength-text");
strengthMeter.value = result.score;
strengthText.innerHTML = result.score + " / 4";
strengthText.className = "strength-" + result.score;
}
</script>
<style>
.strength-0 {
color: red;
}
.strength-1 {
color: orange;
}
.strength-2 {
color: yellow;
}
.strength-3 {
color: green;
}
</style>
</head>
<body>
<h1>Login Page</h1>
<form>
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" onkeyup="checkPasswordStrength()"><br><br>
<meter max="4" id="strength-meter"></meter>
<p id="strength-text"></p>
<button type="submit">Login</button>
</form>
<script>
var passwordInput = document.getElementById("password");
passwordInput.addEventListener("input", function() {
var password = passwordInput.value;
var regex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$/;
if (regex.test(password)) {
passwordInput.setCustomValidity("");
} else {
passwordInput.setCustomValidity("Password must be at least 8 characters long, and contain only letters (upper or lower case), numbers, and special characters.");
}
});
</script>
</body>
</html>
```
在这个示例中,我们使用了 zxcvbn 库来计算密码的强度,并将结果显示在一个 `<meter>` 元素和一个 `<p>` 元素中。我们还使用了一个正则表达式来验证密码是否符合要求,并在密码输入框中使用了 `setCustomValidity()` 方法来显示错误消息。
请注意,此处使用的正则表达式要求密码至少包含一个字母、一个数字和一个特殊字符,并且长度至少为 8 个字符。如果您想要更严格的要求,可以根据自己的需要修改正则表达式。
golang实现简单用户密码登录并加密储存功能
下面是一个示例代码,用于演示如何在golang中实现基本的用户密码登录和加密储存功能:
```go
package main
import (
"fmt"
"golang.org/x/crypto/bcrypt"
)
var users = map[string]string{
"alice": "123456",
"bob": "password",
"eve": "qwerty",
}
func login(username, password string) bool {
// 检查用户名是否存在
if hashedPassword, ok := users[username]; ok {
// 检查密码是否正确
if err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(password)); err == nil {
return true
}
}
return false
}
func register(username, password string) error {
// 生成随机盐
salt, err := bcrypt.GenerateFromPassword([]byte(username), bcrypt.DefaultCost)
if err != nil {
return err
}
// 哈希密码并保存
hashedPassword, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
if err != nil {
return err
}
users[username] = string(hashedPassword)
return nil
}
func main() {
// 测试注册和登录功能
username := "charlie"
password := "zxcvbn"
err := register(username, password)
if err != nil {
fmt.Printf("注册失败: %v\n", err)
return
}
if login(username, password) {
fmt.Printf("%s 登录成功\n", username)
} else {
fmt.Printf("%s 登录失败\n", username)
}
}
```
在上面的代码中,我们使用了golang的`bcrypt`包来对密码进行哈希和验证。在`register`函数中,我们首先生成一个随机盐,并使用该盐和给定的密码生成哈希密码。然后,我们将用户名和哈希密码存储在`users`map中。
在`login`函数中,我们首先检查给定的用户名是否存在于`users`map中。如果存在,我们将存储的哈希密码和给定的密码进行比较。如果密码匹配,该函数返回`true`,否则返回`false`。
在`main`函数中,我们使用`register`函数注册了一个新用户,并使用`login`函数测试了该用户的登录过程。请注意,由于我们使用了随机盐和哈希密码,这种方法比简单密码储存更安全。