نظرات اشتراک‌ها
ویدیو های EmberConf 2015
EmberConf 2015
- Opening Keynote
https://www.youtube.com/watch?v=o12-90Dm-Qs
- EMBER.JS PERFORMANCE
https://www.youtube.com/watch?v=iTZxo6bSx44
- DESIGNING FOR EMBER APPS
https://www.youtube.com/watch?v=ijiNbF2Wu0E
- HIJACKING HACKER NEWS WITH EMBER.JS
https://www.youtube.com/watch?v=PXB93Z8azZE
- THE ART OF EMBER DEPLOYMENT
https://www.youtube.com/watch?v=4EDetv_Rw5U
- AMBITIOUS UX FOR AMBITIOUS APPS
https://www.youtube.com/watch?v=TlU0m18Pr-Y
- BRING SANITY TO FRONTEND INFRASTRUCTURE WITH EMBER
https://www.youtube.com/watch?v=iwPsNTkyCcA
- DYNAMIC GRAPHIC COMPOSITION IN EMBER
https://www.youtube.com/watch?v=J-LpgGqyxcI
- TEST-DRIVEN DEVELOPMENT BY EXAMPLE
https://www.youtube.com/watch?v=2b1vcg_XSR8
- ALIGNING EMBER WITH WEB STANDARDS
https://www.youtube.com/watch?v=knYeLk1EuHw
- GROWING EMBER ONE TOMSTER AT A TIME
https://www.youtube.com/watch?v=xsG0gDkvDPw
- INTERACTION DESIGN WITH EMBER 2.0 AND POLYMER
https://www.youtube.com/watch?v=Z8NDAiOZ8SE
- BUILDING CUSTOM APPS WITH EMBER CLI
https://www.youtube.com/watch?v=J6vPwvFdUiE
- BUILDING REAL-TIME APPLICATIONS WITH EMBER
https://www.youtube.com/watch?v=nfGORL8ebn8
- PHYSICAL DESIGN
https://www.youtube.com/watch?v=p8aF-7-_cE8
- CLOSING KEYNOTE
https://www.youtube.com/watch?v=qWcNZ3j3y6g
- MINITALKS
https://www.youtube.com/watch?v=K4fyHxg3Ldk
- FAULT TOLERANT UX
https://www.youtube.com/watch?v=s2awUFvA-0I

اشتراک‌ها
معرفی Globalize 1.0
The jQuery Foundation announce the 1.0 release of the Globalize project 
معرفی Globalize 1.0
اشتراک‌ها
NET 6 Preview 6. منتشر شد

Preview 6 is the second to last preview before we enter the RC period. There will be two RCs. This release itself is relatively small, while Preview 7 will be bigger.  

NET 6 Preview 6. منتشر شد
اشتراک‌ها
میزان تقاضای بالا و حقوق دریافتی متخصصین Apache Cassandra و دیگر مهارت های NoSQL

In that report , the average 2015 salary for Cassandra skills was $ 147,811 , second only to SAP's hana ( High Performance Analytical appliance ) . General NoSQL skills were 13th , at $ 130,290 , with other NoSQL databases such as MongoDB also making the list


میزان تقاضای بالا و حقوق دریافتی متخصصین Apache Cassandra و دیگر مهارت های NoSQL
مطالب
نحوه ذخیره کلمات عبور در SQL Server
در این مقاله قصد داریم با نحوه ذخیره کلمات عبور در SQL Server و نحوه کار با آن‌ها آشنا شویم.
به عنوان توسعه دهنده / مدیر، احتمالا از طریق لاگین ویندوزی به SQL Server دسترسی پیدا می‌کنید. با این حال طریق گزینه‌ی دیگری به صورت تغییر در Instance SQL به حالت مخلوط (Mixed mode)، و از طریق SQL Login به SQL نیز می‌توان به آن دسترسی پیدا کرد. این SQL Logins در دیتابیس Master ساخته می‌شوند و از طریق sys.server_principals می توان لیست آنها را مشاهده کرد.
همچنین اطلاعات اضافی در sys.sql_logins وجود دارند که از sys.server_principals ارث‌بری شده‌اند. این ۳ ستون اضافه شده، is_policy_checked ،is_expiration_checked و password_hash هستند.
اگر شما با استفاده از تابع HASHBYTES یک متن مشخص را هش کنید و با کلمه عبوری که در زمان ساخت SQL Login وارد کرده‌اید مقایسه کنید، خواهید دید که این دو با هم برابر نمی‌باشند (ستون password_hash در sys.sql_logins). این اختلاف به علت اطلاعات اضافی (salt) است که به کلمه عبور افزوده شده‌است.
(x = Hash(PlainText + Salt به جای استفاده از (x = Hash(PlainText
SELECT HASHBYTES('SHA2_512',CAST(N'VMT' AS VARBINARY(MAX)))
--0x53DB8AFD20AA76B93DB7BBE855950E679288C843A83899ED4E713B829873306495B6025B7B4FBCDC1BA3EE19C7005BE843A30AC51050C9652E5D1E978DBC3A11
SELECT HASHBYTES('SHA2_512',CAST(N'VMT' AS VARBINARY(MAX))+0xBFE14699)
--0xEF934A8668BD52BEC3295C5DBD2E99555CC074AECBDF32A496C39851A35847DDA7270486B3EC3C77B99334693ECE598617F232C5DC3FCD67EC7D734196913A05
این کار به امنیت بیشتر کمک می‌کند؛ اگرچه SQL Server اطلاعات Salt را به عنوان بخشی از اطلاعات هش نگهداری می‌کند. اگر به ستون password_hash دقت کنید، Salt را مشاهده خواهید کرد.
0x0200  BFE14699  EF934A8668BD52BEC3295C5DBD2E99555CC074AECBDF32A496C39851A35847DDA7270486B3EC3C77B99334693ECE598617F232C5DC3FCD67EC7D734196913A05
همانطور که مشاهده می‌کنید 4 بایت (به صورت جدا شده) برابر با Salt استفاده شده در مثال قبل است. قسمت سمت راست Salt، هش کلمه عبور ماست.

حدس کلمه عبور مربوط به SQL Logins

با استفاده از قطعه کد زیر سعی در حدس کلمه عبور SQL Loginهای سیستم خودم را دارم. از نسخه SQL Server 2012 به بعد، الگوریتم هش کلمه عبور از SHA1 به SHA2-512 تغییر کرده‌است.
-- جدول کلمات مورد استفاده برای حدس کلمه عبور
DECLARE @WordList TABLE
    (
        [Plain] NVARCHAR (MAX)
    );

-- درج کلمه عبور با تغییر در نام کاربری
INSERT INTO @WordList ( [Plain] )
            SELECT [name] FROM [sys].[sql_logins]
            UNION
            SELECT REPLACE (REPLACE (REPLACE ([name], 'o', '0'), 'i', '1'), 'e', '3')
            FROM   [sys].[sql_logins]
            UNION
            SELECT REPLACE (REPLACE (REPLACE ([name], 'o', '0'), 'i', '1'), 'e', '3') + '.'
            FROM   [sys].[sql_logins]
            UNION
            SELECT REPLACE (REPLACE (REPLACE ([name], 'o', '0'), 'i', '1'), 'e', '3') + '!'
            FROM   [sys].[sql_logins];
-- درج کلمات معمول برای کلمه عبور
INSERT INTO @WordList ( [Plain] )
            SELECT N''
            UNION ALL
            SELECT N'password'
            UNION ALL
            SELECT N'sa'
            UNION ALL
            SELECT N'dev'
            UNION ALL
            SELECT N'test'
            UNION ALL
            SELECT N'server'
            UNION ALL
            SELECT N'123456'
            UNION ALL
            SELECT N'654321'
            UNION ALL
            SELECT N'asd!@#'
            UNION ALL
            SELECT N'VMT';

-- تشخیص نوع الگوریتم مورد استفاده در هش کردن کلمه عبور
DECLARE @Algorithm VARCHAR (10);
SET @Algorithm = CASE WHEN @@MICROSOFTVERSION / 0x01000000 >= 11
                          THEN 'SHA2_512'
                      ELSE 'SHA1'
                 END;

-- در صورت یافتن کلمه عبور اطلاعات مربوط به آن در این قسمت بدست می‌آید
SELECT
     [name] ,
     [password_hash] ,
     SUBSTRING ([password_hash], 3, 4)                                                                [Salt] ,
     SUBSTRING ([password_hash], 7, ( LEN ([password_hash]) - 6 ))                                    [Hash] ,
     HASHBYTES (@Algorithm, CAST([w].[Plain] AS VARBINARY (MAX)) + SUBSTRING ([password_hash], 3, 4)) [ComputedHash] ,
     [w].[Plain]
FROM [sys].[sql_logins]
     INNER JOIN @WordList [w]
                ON SUBSTRING ([password_hash], 7, ( LEN ([password_hash]) - 6 )) = HASHBYTES ( @Algorithm , CAST([w].[Plain] AS VARBINARY (MAX)) + SUBSTRING ([password_hash], 3, 4));

-- همه نام‌های کاربری و اطلاعات مربوط به آنها را در اینجا بدست می‌آید
SELECT
     [name] ,
     [password_hash] ,
     SUBSTRING ([password_hash], 3, 4)                             [Salt] ,
     SUBSTRING ([password_hash], 7, ( LEN ([password_hash]) - 6 )) [Hash]
FROM [sys].[sql_logins];
همانطور که مشاهده می‌کنید کلمه عبور دو تا از SQL Login‌ها را بدست آوردیم:

با تغییر در دیکشنری کلمات مربوط به کلمه عبور، کارهای بیشتری را می‌شود انجام داد.
یکی دیگر از روش‌های بررسی کلمه عبور استفاده از تابع  PWDCOMPARE است.
SELECT [name],[password_hash]
FROM sys.sql_logins
WHERE PWDCOMPARE(N'VMT',[password_hash]) = 1
اشتراک‌ها
جداول Temporal در SQL Server 2016

provide information about data stored in the table at any point in time rather than only the data that is correct at the current moment in time. Temporal is a database feature that was introduced in ANSI SQL 2011 and is now supported in SQL Server 2016 Community Technology Preview 2 (CTP2).

جداول Temporal در SQL Server 2016