AWS Cognito使用SHA-256哈希函数来存储用户的密码。下面是一个使用AWS SDK for JavaScript的代码示例,演示如何使用SHA-256哈希函数来存储用户的密码:
const AWS = require('aws-sdk');
const crypto = require('crypto');
// 创建一个CognitoIdentityServiceProvider对象
const cognitoIdentityServiceProvider = new AWS.CognitoIdentityServiceProvider();
// 定义要存储的原始密码
const rawPassword = "password123";
// 使用SHA-256哈希函数对密码进行哈希
const hashedPassword = crypto.createHash('sha256').update(rawPassword).digest('hex');
// 定义要创建的用户的参数
const params = {
UserPoolId: 'your-user-pool-id',
Username: 'testuser',
TemporaryPassword: 'tempPassword123',
MessageAction: 'SUPPRESS',
UserAttributes: [
{
Name: 'email',
Value: 'testuser@example.com'
},
{
Name: 'email_verified',
Value: 'true'
},
{
Name: 'password',
Value: hashedPassword
}
]
};
// 创建用户
cognitoIdentityServiceProvider.adminCreateUser(params, (err, data) => {
if (err) {
console.log(err);
} else {
console.log('User created successfully:', data);
}
});
请确保替换代码中的以下值:
'your-user-pool-id'
:您的用户池ID'testuser'
:要创建的用户的用户名'tempPassword123'
:临时密码,用于首次登录'testuser@example.com'
:用户的电子邮件'password123'
:您要存储的原始密码此代码将使用SHA-256哈希函数对密码进行哈希,并将哈希后的密码存储在Cognito用户的password
属性中。