我正在尝试加密SQL Server表中的一个敏感列.我用这个脚本尝试了AES256加密,它完美无缺.但我不想在我的SQL Server上创建证书或对称密钥,因为它可能会在以后出现安全问题.如何在查询中使用单个密码或密钥加密数据?这种方法的另一个问题是,我只能使用一个主密码进行加密.
CREATE MASTER KEY ENCRYPTION
BY PASSWORD = '$Passw0rd'
GO
CREATE CERTIFICATE AESEncryptTestCert
WITH SUBJECT = 'AESEncrypt'
GO
CREATE SYMMETRIC KEY AESEncrypt
WITH ALGORITHM = AES_256 ENCRYPTION -- TRIPLE_DES ENCRYPTION
BY CERTIFICATE AESEncryptTestCert;
OPEN SYMMETRIC KEY AESEncrypt DECRYPTION
BY CERTIFICATE AESEncryptTestCert
SELECT ENCRYPTBYKEY(KEY_GUID('AESEncrypt'),'The text to be encrypted');
Run Code Online (Sandbox Code Playgroud) 我正在建立一个网站,其中有一个职业页面,其中包含用于恢复上传的输入文件HTML控件.使用JQuery将表单值POST到ASPX页面时,除了文件上载外,一切正常.如何使用JQuery在一个AJAX请求中发布每个字段(包括文件)?我在Google中看到的示例只处理文件上传,而不处理其他字段.这是我的JQuery,没有制作用于文件上传的ASPX.
<script type="text/javascript">
$(document).ready(function(e) {
// File variable
var files;
// Add events
$('#resume').on('change', prepareUpload);
// Grab the files and set them to our variable
function prepareUpload(event)
{
files = event.target.files;
}
$( "#submit_btn" ).click(function( ) {
var fileData = new FormData();
$.each(files, function(key, value)
{
fileData.append(key, value);
});
var formMessage = tinyMCE.get('message').getContent();
var formName = $('.contact-container #name').val();
var formPhone = $('.contact-container #phone').val();
var formEmail = $('.contact-container #email').val();
var formApplyFor = $('.contact-container #applyfor').val();
// Get some values from elements on …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,HASHBYTES SQL函数为相同的字符串返回不同的值.以下是我的用户创建代码.
Guid fillerG = Guid.NewGuid();
using (SqlCommand com = new SqlCommand("INSERT INTO App_Users (UserName, PasswordHash, PasswordSalt) VALUES ('" + userNameTxt.Text + "', HASHBYTES ( 'SHA1', CONVERT(NVARCHAR(100), '" + userPassword.Text + fillerG.ToString() + "') ), '" + fillerG.ToString() + "'; ", con))
{
com.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)
当我在登录页面中比较上面插入的行时,它不匹配.这是我的比较脚本.
SqlCommand loginCom = new SqlCommand("select COUNT(UserID) FROM App_Users WHERE UserName = '" + Login1.UserName + "' AND PasswordHash = HASHBYTES('SHA1', '" + Login1.Password + "' + CONVERT(NVARCHAR(36), PasswordSalt))", loginCon);
Run Code Online (Sandbox Code Playgroud)
第一个代码将passwordHash存储为:
0xDAC9280F85B40C06314228876717E342432807DB
Run Code Online (Sandbox Code Playgroud)
但是在查询窗口中,具有相同值的HASHBYTES函数返回:
0xA561FBD35713F922AD761594658C193F12B82791
Run Code Online (Sandbox Code Playgroud)
更新: …
我有一个包含这样记录的数据表......
JID Date RecentChatString
-----------------------------------------------------------------------
abc@gmail.com 11/Nov/2013 11:53:00 Hi
abc@gmail.com 11/Nov/2013 11:53:10 Hello
abc@gmail.com 11/Nov/2013 11:54:00 Good Morning
def@gmail.com 11/Nov/2013 12:03:00 Ok
abc@gmail.com 11/Nov/2013 12:05:10 Please reply
def@gmail.com 11/Nov/2013 12:15:00 Good after noon
def@gmail.com 11/Nov/2013 12:15:50 Ok bye
Run Code Online (Sandbox Code Playgroud)
我想要获取按日期排序的前 10 个不同记录,并且仅表示每个 JID 最近的聊天记录。
JID Date RecentChatString
-----------------------------------------------------------------------
abc@gmail.com 11/Nov/2013 12:05:10 Please reply
def@gmail.com 11/Nov/2013 12:15:50 Ok bye
Run Code Online (Sandbox Code Playgroud)
现在我有这样的代码。我可以使用此代码获取按日期排序的前 10 条记录。但是,它包含重复的JID's. 请帮我。(recent_index是一个数据表)
DataRow recent_dr = recent_index.NewRow();
recent_dr["JID"] = RosterId;
recent_dr["Date"] = DateTime.Now;
recent_dr["RecentChatString"] = _chatline;
recent_index.Rows.Add(recent_dr);
DataTable dtt = …Run Code Online (Sandbox Code Playgroud) 我正在写这样的代表.
delegate void MyMethod(string arg1, string arg2);
MyMethod mm;
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它需要两行来声明一个委托.如果我的班级有20名代表,我需要编写40行代码.任何人都可以告诉我在一行代码中写这个吗?提前致谢.
我的Android应用程序中有一个MainActivity,我在RecyclerView中显示了一个项目列表.
每个Item可以有多个子项,子项也可以有自己的子项(如树).我想为主项和子项显示相同的活动,但在ActionBar上显示后退箭头.
是否可以重用MainActivity?
c# ×3
asp.net ×2
sql ×2
sql-server ×2
aes ×1
ajax ×1
android ×1
dataset ×1
datatable ×1
delegates ×1
encryption ×1
javascript ×1
jquery ×1
linq ×1