Sql server 如何在SQL Server中加密而不涉及varbinary

Sql server 如何在SQL Server中加密而不涉及varbinary,sql-server,tsql,encryption,encryption-symmetric,varbinary,Sql Server,Tsql,Encryption,Encryption Symmetric,Varbinary,我知道对称加密有一些函数,比如ENCRYPTBYPASSPHRASE,但我在SQL Server中寻找一种方法来加密字段,这样我就可以通过varchar或nvarchar将加密字符串作为URL的一部分传递给外部世界。实际上,我不希望加密输出存储在varbinary字段中,而是存储在nvarchar中 如果算法不是很强,这没关系,我只需要它将输出放在一个URL中 有什么方法可以做到这一点吗?在这种情况下,考虑使用哈希法。@Rahul我需要稍后解密它。这将是在URL中传递行id的一种方法。我的意思是

我知道对称加密有一些函数,比如
ENCRYPTBYPASSPHRASE
,但我在SQL Server中寻找一种方法来加密字段,这样我就可以通过varchar或nvarchar将加密字符串作为URL的一部分传递给外部世界。实际上,我不希望加密输出存储在varbinary字段中,而是存储在nvarchar中

如果算法不是很强,这没关系,我只需要它将输出放在一个URL中


有什么方法可以做到这一点吗?

在这种情况下,考虑使用
哈希法。@Rahul我需要稍后解密它。这将是在URL中传递行id的一种方法。我的意思是,通过web应用程序存储上的URL解释器将行id解密为varbinary,然后将Base64编码为字符串?这是使用GUID的一种很好的情况。如果您的表中有一个uniqueidentifier列,您可以传递该列,而不是ID(我在这里假定为identifier)。这很简单,因为它不容易猜测,不需要任何额外的努力来编码和解码它。只是一个简单的where子句处理它。