본문 바로가기

[MSSQL] 한글 데이터 암호화/복호화 (대칭키 암호화 사용) 1. 마스터키 생성/ 백업 / 복원 / 조회 1) 생성 - CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pwd_Create_Master'; 2) 백업 - OPEN MASTER KEY DECRYPTION BY PASSWORD = 'Pwd_Create_Master'; - BACKUP MASTER KEY TO FILE = 'C:\MasterKey' ENCRYPTION BY PASSWORD = 'Pwd_Backup_Master'; 3) 복원 - RESTORE MASTER KEY FROM FILE = 'C:\MasterKey'; 4) 조회 - SELECT * FROM sys.symmetric_keys 2. 인증서 생성 / 조회 / 삭제 1) 생성 - CREATE CERTIFICA.. 더보기
[해결] 드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다. 오류: "java.lang.RuntimeException: Could not generate DH keypair" 해당 오류는 JRE 1.6버전에서 1024비트 이상의 DH를 지원하지 않아 발생하는 문제이다. 윈도우 버전이 업그레이드 되면서 보안이 강화되고, DH 알고리즘이 1024에서 2048로 업데이트 되었기 때문이다. 따라서 레지스트리 편집기에서 암호화 알고리즘(DH)의 최소 패킷 사이즈를 2048 -> 1024로 변경해야한다. 해결 방법으로는 아래 레지스트리로 이동해서 "Diffie-Hellman" Key를 생성하고 그 안에 "ServerMinKeyBitLength" DWORD 값을 10진수로 1024로 적용한다. - HKEY_LOCAL_MACHINE\Comm\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms 더보기
[Mssql] Working days 구하기(함수) 특정 기간 동안에 Working days 수 구하는 함수입니다. CREATE FUNCTION [dbo].[fn_GetTotalWorkingDays] ( @DateFrom Date, @DateTo Date ) RETURNS INT AS BEGIN DECLARE @TotDays INT = DATEDIFF(DAY, @DateFrom, @DateTo) + 1; DECLARE @TotWeeks INT = DATEDIFF(WEEK, @DateFrom, @DateTo) * 2; DECLARE @IsSunday INT = CASE WHEN DATENAME(WEEKDAY, @DateFrom) = 'Sunday' THEN 1 ELSE 0 END; DECLARE @IsSaturday INT = CASE WHEN DATENA.. 더보기
[Mssql] 연도별 주차 SQL문 연도별로 주차 구하는 SQL문 입니다. (* 월요일 기준) SELECT '2020' AS YEAR ,CASE WHEN LEN(NUMBER + 1) = 1 THEN '0' + CAST(NUMBER + 1 AS VARCHAR) ELSE CAST(NUMBER + 1 AS VARCHAR) END AS WEEK ,'Week ' + CASE WHEN LEN(NUMBER + 1) = 1 THEN '0' + CAST(NUMBER + 1 AS VARCHAR) ELSE CAST(NUMBER + 1 AS VARCHAR) END AS WEEK_NM ,CONVERT(VARCHAR(10), DATEADD(DAY, - (DATEPART(DW, CONVERT(SMALLDATETIME, '2020' + '-01-01') + (NUMB.. 더보기
[웹취약점] JBOSS 세션 타임 아웃 설정 세션 파기가 제대로 되지 않을 경우 공격자가 세션 정보를 취득하여 시스템에 접근할 수 있다. 따라서 세션 타임 아웃 설정을 통해 서버에서 이용되는 모든 세션 자원이 파기 되는지 확인한다. 세션의 타임아웃은 두 가지 방법으로 설정할 수 있다. (20분으로 설정) 1. web.xml 파일에서 태그를 사용 20 2. session 기본 객체가 제공하는 setMaxInactiveInterval() 메소드를 사용 session.setMaxInactiveInterval(20 * 60); 더보기
유저 브라우저 캐쉬로 인해 수정된 js파일 적용 안될 때 JS 또는 CSS 파일을 수정하였지만 적용이 안될 때가 있다.브라우저가 캐쉬에 있는 파일을 사용하기 때문인데, 변경된 파일을 새로 불러와서 사용하는 방법은 다음과 같다. [변경 전] [변경 후] 더보기