Tạo hàm mã hóa T-SQL

Trong SQL hỗ trợ lập trình với T-SQL, bạn có thể tạo các hàm xử lý chuỗi hoặc những vấn đề liên quan đến chuỗi. Và đây là ví dụ về cách mã hoá một chuỗi nào đó (ví dụ mã hoá password). Thực chất của hàm này là thay đổi chuỗi nhập vào bằng chuỗi khác theo. | Tạo một hàm mã hoá với T-SQL Trong SQL hỗ trợ lập trình với T-SQL, bạn có thể tạo các hàm xử lý chuỗi hoặc những vấn đề liên quan đến chuỗi. Và đây là ví dụ về cách mã hoá một chuỗi nào đó (ví dụ mã hoá password). Thực chất của hàm này là thay đổi chuỗi nhập vào bằng chuỗi khác theo. Trong SQL hỗ trợ lập trình với T-SQL, bạn có thể tạo các hàm xử lý chuỗi hoặc những vấn đề liên quan đến chuỗi. Và đây là ví dụ về cách mã hoá một chuỗi nào đó (ví dụ mã hoá password). Thực chất của hàm này là thay đổi chuỗi nhập vào bằng chuỗi khác theo một quy luật nào đó. Và quy luật ở đây là ký tự ở vị trí lẽ sẽ tăng lên 20*number, ký tự ở vị trí chẵn sẽ giảm đi 20*number. 1. Hàm mã hóa ký tự view plainprint? 1. 2. CREATE FUNCTION fuMaHoaString 3. (@strInput nvarchar(200), 4. @dt smallint=-1) 5. RETURNS nvarchar(200) 6. AS 7. BEGIN 8. Declare @str nvarchar(200) 9. Declare @lenStr tinyint 10. Declare @i tinyint 11. Declare @k smallint 12. Set @lenStr = Len(@strInput) 13. Set @str = 14. Set @i = 1 15. If (@dt = 0) 16. Set @dt = -1 17. Set @k = @dt / Abs(@dt) 18. While (@i <= @lenStr) 19. Begin 20. Set @str = @str + Char((Ascii(SubString(@strInput, @i, 1))+@k*20)) 21. Set @k = -@k 22. Set @i = @i + 1 23. End 24. Return @str 25. END 26. //trong hàm trên chỉ cần 1 câu lệnh là quyết định, mấy câu còn lại chỉ để làm mù mắt ai đó mà thôi Ví dụ: SELECT (abc123,1) Sẽ trả về uNwF 2. Hàm giải mã hàm đã mã hóa ở trên. Hàm dịch lại cách mã hoá đó thì cũng tương tự thôi (có thể viết tại SQL hoặc tại chương trình khác). Sau đây là hàm dịch lại chuỗi: view plainprint? 1. CREATE FUNCTION fuGiaiMaKyTuDaMaHoa 2. (@strInput nvarchar(200), 3. @dt smallint=-1) 4. RETURNS nvarchar(200) 5. AS 6. BEGIN 7. Declare @str nvarchar(200) 8. Declare @lenStr tinyint 9. Declare @i tinyint 10. Declare @k smallint 11. Set @lenStr = Len(@strInput) 12. Set @str = 13. Set @i = 1 14. If (@dt = 0) 15. Set @dt = -1 16. Set @k = -@dt / Abs(@dt) 17. While (@i <= @lenStr) 18. Begin 19. Set @str = @str + Char((Ascii(SubString(@strInput, @i, 1))+@k*20)) 20. Set @k = -@k 21. Set @i = @i + 1 22. End 23. Return @str 24. END Ví dụ: SELECT ((abc123,1),1) Sẽ trả về abc123

Bấm vào đây để xem trước nội dung
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.