I got bored at work, and I made this function in a few minutes...

It's using SHA1 (160 bits) hash to encrypt. You can encrypt any data type, you just have to convert/cast your data to VARBINARY(MAX), and from VARBINARY(MAX) to your data type when you decrypt.

The algorithm is the same as this one here: VB - 128, 160 and 256 Bit File Encryption/Decryption with MD5, SHA1 and SHA256
Code:
-- =============================================
-- Author:	<Michael Ciurescu>
-- Create date: <2010-08-04>
-- Description:	<160 bit Encryption/Decryption>
-- =============================================
CREATE FUNCTION [dbo].[fn_Encrypt]
(
	  @StuffToEncrypt VARBINARY(MAX)
	, @Password VARCHAR(MAX)
)
RETURNS VARBINARY(MAX)
AS
BEGIN
	/*
		DECLARE @Data VARCHAR(MAX)
		DECLARE @DecData VARCHAR(MAX)
		DECLARE @EncData VARBINARY(MAX)
		
		-- Data to encrypt
		SET @Data = 'testing blah blah ... 12345678'
		
		-- Encrypt
		SET @EncData = dbo.fn_Encrypt(CAST(@Data AS VARBINARY(MAX)), 'password123')
		SELECT @EncData AS [Encrypted Data], DATALENGTH(@EncData) AS [Data Length]
		
		-- Decrypt
		SET @DecData = CAST(dbo.fn_Encrypt(@EncData, 'password123') AS VARCHAR(MAX))
		SELECT @DecData AS [Decrypted Data], DATALENGTH(@DecData) AS [Data Length]
	*/
	
	DECLARE @OutData VARBINARY(MAX)
	DECLARE @Key VARBINARY(MAX)
	DECLARE @KeyLen INT, @K INT, @B INT, @Blocks INT
	
	SET @Key = HashBytes('SHA1', @Password)
	SET @KeyLen = DATALENGTH(@Key)
	SET @OutData = 0x
	SET @B = 0
	SET @Blocks = DATALENGTH(@StuffToEncrypt) / @KeyLen
	
	WHILE @B <= @Blocks BEGIN
		SET @K = 0
		SET @Key = HashBytes('SHA1', @Password + CAST(@B AS VARCHAR(10)))
		
		WHILE @K < @KeyLen BEGIN
			IF (@B * @KeyLen + @K + 1) > DATALENGTH(@StuffToEncrypt) BEGIN
				BREAK
			END ELSE BEGIN
				SET @OutData = @OutData +
					CAST(CAST(SUBSTRING(@StuffToEncrypt, @B * @KeyLen + @K + 1, 1) AS INT) ^
					CAST(SUBSTRING(@Key, @K + 1, 1) AS INT) AS VARBINARY(1))
			END
			
			SET @K = @K + 1
		END
		
		SET @B = @B + 1
	END
	
	RETURN @OutData
END