Tchau 2009, que venha 2010


Pessoal, boa noite ou melhor dizendo boa madrugada.
 
Não poderia deixar passar esta data, e agradecer a todos os amigos, colegas, visitantes do meu blog que neste ano de 2009 me ajudaram muito a superar alguns obstáculos e atingir alguns objetivos.
 
Neste último post do ano, desejo á todos um Feliz 2010 com muita Saúde, Paz, Feliciidade, Amor, e principalmente Sabedoria para superar e ultrapassar todas as barreiras e dificuldades.
 
Obrigado 2009 mas que 2010 possa me fazer esquecer todas as tristesas vividas.
 
Que 2010 seja repleto de vitórias e alegrias.
 
Mais uma vez obrigado, bom descando.
 
 
Anúncios

Corra a Campus Party 2010 esta chegando!!!!


A organização da Campus Party Brasil divulgou a agenda oficial de atrações para a terceira edição do evento no país.

Segundo os responsáveis pela programação, ainda há a possibilidade de alterações, já que boa parte do conteúdo foi sugerido pelos próprios campuseiros.

“A Campus Party mostra o que vem por aí. Um dos temas de destaque esse ano é a Realidade Aumentada, uma área de pesquisa que estuda a combinação da realidade com o virtual. Isso vai mudar o ambiente urbano”, destaca Sergio Amadeu, diretor de conteúdos do evento.

Assim como nos anos anteriores, os temas foram divididos em quatro áreas específicas: Ciência, Criatividade, Entretenimento Digital e Inovação. Para 2010, o evento ainda deve contar com a apresentação de Scott Goodstein, o guru da campanha de Barack Obama, e do hacker Kevin Mitnick.

Os interessados em acompanhar a programação completa podem acessar a página oficial do evento em: www.campus-party.com.br/agenda.html.

Confira alguns dos destaques da Campus Party 2010:

– Modding: construções de antenas wirless, pinturas especiais em cases e uma tentativa de quebrar o recorde mundial de overclock.

– Blog: estudo de caso do site Jovem Nerd e um painel sobre blogs, redes sociais e celebridades.

– Design: oficina sobre modelagem 3D com Blender.

– Fotografia: como fazer boas fotos utilizando qualquer tipo de câmera e tratamento de imagem

Fonte: Info – http://info.abril.com.br/noticias/internet/agenda-da-campus-party-2010-esta-pronta-28122009-4.shl

Como localizar todas as tabelas que não têm um índice?


A dica de hoje tem o objetivo de demonstrar como localizar em um determinado banco de dados, quais são as tabelas que não possuem índices. Neste código utilizamos as funções Schema_Name e ObjectProperty, além da system table sys.tables.
 
Veja abaixo o código de exemplo:
 
USE MRP;
GO
SELECT SCHEMA_NAME(schema_id) AS schema_name
    ,name AS table_name
FROM sys.tables 
WHERE OBJECTPROPERTY(object_id,'IsIndexed') = 0
ORDER BY schema_name, table_name;
GO

Como localizar todas as estatísticas e as colunas de estatística em um objeto especificado?


A dica de hoje tem o objetivo de demonstrar como obter informações sobre as estatísticas utilizadas em algunas colunas e
objetos existentes no SQL Server. Para isso utilizamos as systems views: Sys.Stats_columns, Sys.Stats e Sys.Columns
Veja abaixo o código de exemplo:
USE MRP;
GO
SELECT s.name AS statistics_name
    ,c.name AS column_name
    ,sc.stats_column_id
FROM sys.stats AS s
INNER JOIN sys.stats_columns AS sc 
    ON s.object_id = sc.object_id AND s.stats_id = sc.stats_id
INNER JOIN sys.columns AS c 
    ON sc.object_id = c.object_id AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('<schema_name.object_name>');
GO

Especial – Funções de Criptografia e Descriptografia


DECRYPTBYKEY
 
Decifra dados usando uma chave simétrica.
 
Sintaxe

DecryptByKey ( { 'ciphertext' | @ciphertext } 
    [ , add_authenticator, { authenticator | @authenticator } ] )
 
Argumentos
ciphertext

São os dados que foram criptografados com a chave. ciphertext é varbinary.

 

@ciphertext

É uma variável do tipo varbinary que contém dados criptografados com a chave.

add_authenticator

Indica se um autenticador foi criptografado junto com o texto não criptografado. Deve ser igual ao valor passado

para EncryptByKey durante a criptografia dos dados. add_authenticator é int.

authenticator

São os dados a partir dos quais um autenticador é gerado. Deve corresponder ao valor fornecido para EncryptByKey.

authenticator é sysname.

 

@authenticator

É uma variável que contém dados a partir dos quais um autenticador é gerado. Deve corresponder ao valor fornecido

a EncryptByKey.

 

DecryptByKey usa uma chave simétrica. Essa chave simétrica já deve estar aberta no banco de dados. Podem haver várias chaves

abertas ao mesmo tempo. Não é necessário abrir a chave imediatamente antes de descriptografar o texto de codificado.

 

Exemplos

A. Descriptografando com o uso de uma chave simétrica

O exemplo a seguir descriptografa texto codificado usando uma chave simétrica.

-- First, open the symmetric key with which to decrypt the data.
OPEN SYMMETRIC KEY SSN_Key_01
   DECRYPTION BY CERTIFICATE HumanResources037;
GO

-- Now list the original ID, the encrypted ID, and the 
-- decrypted ciphertext. If the decryption worked, the original
-- and the decrypted ID will match.
SELECT NationalIDNumber, EncryptedNationalID 
    AS 'Encrypted ID Number',
    CONVERT(nvarchar, DecryptByKey(EncryptedNationalID)) 
    AS 'Decrypted ID Number'
    FROM HumanResources.Employee;
GO

B. Descriptografando com o uso de uma chave simétrica e um hash autenticando

O exemplo a seguir descriptografa dados que foram criptografados junto com um autenticador.

-- First, open the symmetric key with which to decrypt the data
OPEN SYMMETRIC KEY CreditCards_Key11
   DECRYPTION BY CERTIFICATE Sales09;
GO

-- Now list the original card number, the encrypted card number,
-- and the decrypted ciphertext. If the decryption worked, 
-- the original number will match the decrypted number.
SELECT CardNumber, CardNumber_Encrypted 
    AS 'Encrypted card number', CONVERT(nvarchar,
    DecryptByKey(CardNumber_Encrypted, 1 , 
    HashBytes('SHA1', CONVERT(varbinary, CreditCardID)))) 
    AS 'Decrypted card number' FROM Sales.CreditCard;
GO

A criptografia e descriptografia simétrica é relativamente rápida e adequada para trabalhar com grandes quantidades de dados.

Especial – Funções de Criptografia e Descriptografia


DecryptByKeyAutoCert

 
Descriptografa usando uma chave simétrica que é decifrada automaticamente com um certificado.
 
Sintaxe

DecryptByKeyAutoCert ( cert_ID , cert_password 
        , { 'ciphertext' | @ciphertext }
    [ , { add_authenticator | @add_authenticator } 
    [ , { authenticator | @authenticator } ] ] )
Argumentos
cert_ID

A ID do certificado que é usado para proteger a chave simétrica. cert_ID é int.

cert_password

É a senha que protege a chave particular do certificado. Poderá ser NULL se a chave particular estiver

protegida pela chave mestra do banco de dados. cert_password é varchar.

' ciphertext '

São os dados criptografados com a chave. ciphertext é varbinary.

 

@ciphertext

É uma variável do tipo varbinary que contém dados criptografados com a chave.

add_authenticator

Indica se um autenticador foi criptografado junto com o texto não criptografado. Deve ser igual ao valor

que é passado a EncryptByKey ao criptografar os dados. É 1 se um autenticador foi usado. add_authenticator é int.

 

@add_authenticator

Indica se um autenticador foi criptografado junto com o texto não criptografado. Deve ser igual ao valor

que é passado a EncryptByKey ao criptografar os dados.

authenticator

São os dados a partir dos quais um autenticador é gerado. Deve corresponder ao valor fornecido a EncryptByKey.

authenticator é sysname.

 

@authenticator

É uma variável que contém dados a partir dos quais um autenticador é gerado. Deve corresponder ao valor fornecido

a EncryptByKey.

 

DecryptByKeyAutoCert combina a funcionalidade OPEN SYMMETRIC KEY e DecryptByKey. Em uma única operação, ele

descriptografa uma chave simétrica e a usa para descriptografar texto codificado.

 

Exemplos

O exemplo a seguir mostra como DecryptByKeyAutoCert pode ser usado para simplificar código que executa uma

descriptografia. Esse código deve ser executado em uma cópia recém-instalada do banco de dados AdventureWorks.

--Create the keys and certificate.
USE AdventureWorks;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'mzkvdlk979438teag$$ds987yghn)(*&4fdg^';
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'mzkvdlk979438teag$$ds987yghn)(*&4fdg^';
CREATE CERTIFICATE HumanResources037 
   WITH SUBJECT = 'Sammamish HR', 
   EXPIRY_DATE = '10/31/2009';
CREATE SYMMETRIC KEY SSN_Key_01 WITH ALGORITHM = DES
    ENCRYPTION BY CERTIFICATE HumanResources037;
GO
----Add a column of encrypted data.
ALTER TABLE HumanResources.Employee
    ADD EncryptedNationalIDNumber varbinary(128); 
OPEN SYMMETRIC KEY SSN_Key_01
   DECRYPTION BY CERTIFICATE HumanResources037 ;
UPDATE HumanResources.Employee
SET EncryptedNationalIDNumber
    = EncryptByKey(Key_GUID('SSN_Key_01'), NationalIDNumber);
GO
--
--Close the key used to encrypt the data.
CLOSE SYMMETRIC KEY SSN_Key_01;
--
--There are two ways to decrypt the stored data.
--
--OPTION ONE, using DecryptByKey()
--1. Open the symmetric key
--2. Decrypt the data
--3. Close the symmetric key
OPEN SYMMETRIC KEY SSN_Key_01
   DECRYPTION BY CERTIFICATE HumanResources037;
SELECT NationalIDNumber, EncryptedNationalIDNumber  
    AS 'Encrypted ID Number',
    CONVERT(nvarchar, DecryptByKey(EncryptedNationalIDNumber)) 
    AS 'Decrypted ID Number'
    FROM HumanResources.Employee;
CLOSE SYMMETRIC KEY SSN_Key_01;
--
--OPTION TWO, using DecryptByKeyAutoCert()
SELECT NationalIDNumber, EncryptedNationalIDNumber 
    AS 'Encrypted ID Number',
    CONVERT(nvarchar, DecryptByKeyAutoCert ( cert_ID('HumanResources037') , NULL ,EncryptedNationalIDNumber)) 
    AS 'Decrypted ID Number'
    FROM HumanResources.Employee;

 

 

Especial – Funções criptográficas no Microsoft SQL Server 2008


As funções a seguir oferecem suporte a criptografia, decriptografia, assinatura digital e validação de assinaturas digitais.
 

Criptografia e decodificação simétrica

EncryptByKey

DecryptByKey

EncryptByPassPhrase

DecryptByPassPhrase

Key_ID

Key_GUID

Criptografia e decodificação assimétrica

EncryptByAsmKey

DecryptByAsmKey

EncryptByCert

DecryptByCert

Cert_ID

AsymKey_ID

CertProperty

Assinatura e verificação de assinatura

SignByAsymKey

VerifySignedByAsmKey

SignByCert

VerifySignedByCert

Decodificação simétrica com manipulação de chave automática

DecryptByKeyAutoCert

 

Nos próximos dias estaremos destacando um pouco mais sobre estas importantes funções existentes no SQL Server 2008, que apresentam como funcionalidade principal aumentar e assegurar a segurança dos nossos dados e ambientes.

Fique ligado, neste especial – Criptografia/Descriptografia de dados.