Sql 加密后字符串值丢失
在将代码保存到数据库之前,我正在加密我的值Sql 加密后字符串值丢失,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,在将代码保存到数据库之前,我正在加密我的值 EncryptByKey(Key_GUID('SKEDB_BenName_11'), cast((FirstName + ' ' + Surname) as nvarchar)) , AccountName = EncryptByKey(Key_GUID('SKEDB_BenName_11'),UPPER(LTRIM(RTRIM(@AccountName)))) 当@AccountName字符串长度达到26时,此代码工作正常。如果长度超过26,则
EncryptByKey(Key_GUID('SKEDB_BenName_11'), cast((FirstName + ' ' + Surname) as nvarchar)) ,
AccountName = EncryptByKey(Key_GUID('SKEDB_BenName_11'),UPPER(LTRIM(RTRIM(@AccountName))))
当@AccountName字符串长度达到26时,此代码工作正常。如果长度超过26,则它将加密字符串,最大值为26。我希望加密完整值。请建议将默认值设置为30
演员((名字+姓氏)为女皇) 就是
- 30英寸铸件
- 1在其他情况下
cast((FirstName + ' ' + Surname) as nvarchar(100)))
这将默认为30
演员((名字+姓氏)为女皇) 就是
- 30英寸铸件
- 1在其他情况下
cast((FirstName + ' ' + Surname) as nvarchar(100)))
要踢的坏习惯:声明VARCHAR没有(长度)要踢的坏习惯:声明VARCHAR没有(长度)你的问题有两个不同的EncryptByKey调用。我只修复了一个明显的错误:您的代码不完整,例如,如何生成@AccountName?您的问题有两个不同的EncryptByKey调用。我只修复了一个明显的错误:您的代码不完整,例如,如何生成@AccountName