OTP là viết tắt của cụm từ One-time Passwords có nghĩa là mật khẩu có giá trị trong một phiên đăng nhập hoặc giao dịch trên máy tính hoặc thiết bị kỹ thuật số khác.

Ngày nay, OTP từ được sử dụng trong hầu hết các dịch vụ như Internet Banking, giao dịch trực tuyến, v.v … Chúng thường được kết hợp từ 4 hoặc 6 chữ số hoặc một chữ số 6 chữ số.

Hàm ngẫu nhiên (random) được sử dụng để tạo OTP ngẫu nhiên được xác định trước trong thư viện Math. Bài viết này hướng dẫn bạn cách tạo OTP bằng JavaScript.

Sử dụng các hàm:

  • Math.random (): Hàm này trả về bất kỳ số ngẫu nhiên nào trong khoảng từ 0 đến 1.
  • Math.floor (): Hàm này trả về số integer lớn nhất nhỏ hơn hoặc bằng một số.

Sử dụng hàm trên, chọn chỉ mục ngẫu nhiên của mảng chuỗi chứa tất cả các ứng cử viên có thể có của một chữ số cụ thể của OTP.

Ví dụ 1: Ví dụ này tạo ra 4 chữ số OTP

<script>
// Hàm để tạo OTP
function generateOTP() {
	// Khai báo một biến chữ số
	// nơi lưu trữ tất cả các chữ số
	var digits = '0123456789';
	let OTP = '';
	for (let i = 0; i < 4; i++ ) {
		OTP += digits[Math.floor(Math.random() * 10)];
	}
	return OTP;
}
document.write("Mật khẩu OTP 4 chữ số: ")
document.write( generateOTP() );
</script>

Kết quả xuất ra:

Mật khẩu OTP 4 chữ số: 2947

Ví dụ 2: Ví dụ này tạo ra 6 chữ số OTP

<script>
// Hàm để tạo OTP
function generateOTP() {
	// Khai báo một biến chữ số
	// nơi lưu trữ tất cả các chữ số
	var digits = '0123456789';
	let OTP = '';
	for (let i = 0; i < 6; i++ ) {
		OTP += digits[Math.floor(Math.random() * 10)];
	}
	return OTP;
}
document.write("Mật khẩu OTP 6 chữ số: ")
document.write( generateOTP() );
</script>	

Kết quả xuất ra:

Mật khẩu OTP 6 chữ số: 489104

Ví dụ 3: Ví dụ này tạo OTP chữ và số có độ dài 6

<script>
// Hàm để tạo OTP
function generateOTP() {
	// Khai báo một biến chuỗi
	// nơi lưu trữ tất cả các chuỗi
	var string = '0123456789abcdefghijklmnopqrs
	tuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	let OTP = '';
	// Tìm độ dài của chuỗi
	var len = string.length;
	for (let i = 0; i < 6; i++ ) {
		OTP += string[Math.floor(Math.random() * len)];
	}
	return OTP;
}
document.write("Mật khẩu OTP có độ dài 6: ")
document.write( generateOTP() );
</script>

Kết quả xuất ra:

Mật khẩu OTP có độ dài 6: akgT0u

Trên đây là một số ví dụ để bạn hiểu cách tạo một OTP bằng Javascript. Nếu có thắc mắc gì vui lòng để lại comment mình sẽ trả lời nhé!