<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SYMMETRIC KEY &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/symmetric-key/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Sun, 09 Apr 2017 20:41:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>SQL Server: Encrypt Column data using Symmetric Key Encryption</title>
		<link>https://www.dbrnd.com/2017/04/sql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 18 Apr 2017 16:16:55 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[AES]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Column encryption]]></category>
		<category><![CDATA[Data Security]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Decryption]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Error]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tuning]]></category>
		<category><![CDATA[SQL Server Programming]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[SYMMETRIC KEY]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5041</guid>

					<description><![CDATA[The Database Security is a very common and one of the major aspects for DBA to keep data secure. If you don&#8217;t know about SQL Server TDE, please read below article which uses for data encryption in SQL Server. SQL Server: Transparent Data Encryption (TDE) to Encrypt a Database There are different ways to encrypt [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&amp;linkname=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&amp;linkname=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&amp;linkname=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&amp;linkname=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&amp;linkname=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&amp;linkname=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F04%2Fsql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes%2F&#038;title=SQL%20Server%3A%20Encrypt%20Column%20data%20using%20Symmetric%20Key%20Encryption" data-a2a-url="https://www.dbrnd.com/2017/04/sql-server-encrypt-column-data-using-symmetric-key-encryption-data-security-aes/" data-a2a-title="SQL Server: Encrypt Column data using Symmetric Key Encryption"></a></p><p>The Database Security is a very common and one of the major aspects for DBA to keep data secure.<br />
If you don&#8217;t know about SQL Server TDE, please read below article which uses for data encryption in SQL Server.</p>
<blockquote class="wp-embedded-content" data-secret="qNqZwgAndj"><p><a href="https://www.dbrnd.com/2016/05/sql-server-transparent-data-encryption-tde-to-encrypt-a-database-data-log-backup-file/">SQL Server: Transparent Data Encryption (TDE) to Encrypt a Database</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/05/sql-server-transparent-data-encryption-tde-to-encrypt-a-database-data-log-backup-file/embed/#?secret=qNqZwgAndj" data-secret="qNqZwgAndj" width="600" height="338" title="&#8220;SQL Server: Transparent Data Encryption (TDE) to Encrypt a Database&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>There are different ways to encrypt your data like TDE, data masking, symmetric key.</p>
<p>In this post, I am sharing a demonstration on how to encrypt your table column using Symmetric key encryption.<br />
For example, When you are storing customer&#8217;s credit card information, you must encrypt all cards related columns.</p>
<p><strong>Below is a full demonstration of this:</strong></p>
<p><strong>Create a table with sample data:</strong></p><pre class="crayon-plain-tag">CREATE TABLE dbo.tbl_CustomerCards
(
	CustID INT PRIMARY KEY
	,CustName VARCHAR(10)
	,CustCardNo CHAR(8)
)
GO
INSERT INTO dbo.tbl_CustomerCards VALUES
(1,'Anvesh','25-85-96'),(2,'Neevan','88-26-19')
,(3,'Roy','29-30-32'),(4,'Muskan','36-22-69')
,(5,'Martin','26-88-66'),(6,'Jenny','74-21-31')
GO</pre><p>
<strong>Create your master key and give password base on windows policy:</strong></p><pre class="crayon-plain-tag">CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Dbrnd888';
GO


--If your password does not match windows policy, you will get a below error.
Msg 15118, Level 16, State 1, Line 1
Password validation failed. The password does not meet Windows policy requirements because it is not complex enough.</pre><p>
<strong>Create a database certificate which is protected by database master key:</strong></p><pre class="crayon-plain-tag">CREATE CERTIFICATE dbrnd_certificate
WITH SUBJECT = 'dbrnd Data';
GO</pre><p>
<strong>Create a symmetric key which uses for encryption/decryption:</strong><br />
I used AES_256 algorithm.</p><pre class="crayon-plain-tag">CREATE SYMMETRIC KEY dbrnd_Symmetric_key
WITH ALGORITHM = AES_256 
ENCRYPTION BY CERTIFICATE dbrnd_certificate;
GO</pre><p>
<strong>Add one more column in a table:</strong></p><pre class="crayon-plain-tag">ALTER TABLE tbl_CustomerCards 
ADD CustCardNo_encrypt VARBINARY(MAX) 
GO</pre><p>
<strong>Open a symmetric key for further use:</strong></p><pre class="crayon-plain-tag">OPEN SYMMETRIC KEY dbrnd_Symmetric_key
DECRYPTION BY CERTIFICATE dbrnd_certificate;
GO</pre><p>
<strong>Update newly created column by generating encrypted data with use of old column:</strong></p><pre class="crayon-plain-tag">UPDATE tbl_CustomerCards
SET CustCardNo_encrypt = EncryptByKey (Key_GUID('dbrnd_Symmetric_key'),CustCardNo)
FROM tbl_CustomerCards
GO</pre><p>
<strong>Now, You can remove your old column:</strong></p><pre class="crayon-plain-tag">ALTER TABLE tbl_CustomerCards
DROP COLUMN CustCardNo;
GO</pre><p>
<strong>SELECT encrypted/decrypted card numbers:</strong></p><pre class="crayon-plain-tag">SELECT CustID, CustCardNo_encrypt AS 'Encrypted_CardNumber',
CONVERT(varchar, DecryptByKey(CustCardNo_encrypt)) AS 'Decrypted_CardNumber'
FROM dbo.tbl_CustomerCards;</pre><p>
<strong>Try to Insert few records with encrypted card number values:</strong></p><pre class="crayon-plain-tag">INSERT INTO dbo.tbl_CustomerCards VALUES
(7,'Meera',EncryptByKey( Key_GUID('dbrnd_Symmetric_key'), CONVERT(varchar,'66-52-36')))
,(8,'Laria',EncryptByKey( Key_GUID('dbrnd_Symmetric_key'), CONVERT(varchar,'99-36-23')))
GO</pre><p>
<strong>Once you complete with the use symmetric key, CLOSE it:</strong></p><pre class="crayon-plain-tag">CLOSE SYMMETRIC KEY dbrnd_Symmetric_key;
GO</pre><p>
<strong>The result:</strong></p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-5044 size-full" title="SQL Server Column Encrypted Result" src="https://www.dbrnd.com/wp-content/uploads/2017/04/SQLServerColumnEncryptedResult.png" alt="SQL Server Column Encrypted Result" width="554" height="179" srcset="https://www.dbrnd.com/wp-content/uploads/2017/04/SQLServerColumnEncryptedResult.png 554w, https://www.dbrnd.com/wp-content/uploads/2017/04/SQLServerColumnEncryptedResult-300x97.png 300w, https://www.dbrnd.com/wp-content/uploads/2017/04/SQLServerColumnEncryptedResult-150x48.png 150w" sizes="(max-width: 554px) 100vw, 554px" /></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
