Create Hashing Password In SQL Server

Password merupakan bagian penting dalam aplikasi dalam melakukan otentikasi. Pada umumnya password merupakan kata sandi yang di hash sehingga tidak dapat dikembalikan nilai aslinya.

SQL Server sendiri menyediakan mekanisme hash dalam pembuatan kata sandi sehingga kita tidak perlu melakukan dari sisi aplikasi,


Create Hashing Password In SQL Server


Pembuatan hash dapat dilakukan dengan cara membuat store procedure untuk menghasilkan nilai hash.

Dibawah ini adalah sample SP untuk proses hashing.


CREATE PROCEDURE [dbo].[sp_General_GetHashValue]
	@Password		NVARCHAR(200)
AS
BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.

	SET NOCOUNT ON;

 	DECLARE @Encrypted NVARCHAR(MAX) = NULL;
	DECLARE @SQLMAJORVERSION TINYINT = @@MICROSOFTVERSION / 0x01000000


	-- 256 bits (32 bytes) for SHA2_256, and 512 bits (64 bytes) for SHA2_512 applies to SQL Server 2012 through SQL Server 2014.
	DECLARE @PasswordHash VARBINARY(64) = NULL

	IF(@SQLMAJORVERSION = 10) BEGIN --if SQL Server 2008
		SET @PasswordHash = HASHBYTES(N'SHA1', @Password);
	END
	ELSE 
        BEGIN

		SET @PasswordHash = HASHBYTES(N'SHA2_512', @Password);
	END

	SELECT UPPER(Substring(MASTER.dbo.Fn_varbintohexstr(@PasswordHash), 3, 8000)) As HashCode
END



Semoga posting tentang Create Hashing Password In SQL Server diatas dapat bermanfaat.



Salam,

Popular posts from this blog

SmartObject property ID is a required property for selected method Create. Value must be set.

Cara inject USB 3.0 Driver pada instalasi Windows - How to Inject USB 3.0 Driver in Windows 7

Python Font Color in Console