본문 바로가기

전체보기

Seed128 문자열 암호화/복호화 SeedString Class package seed; public class SeedString extends Seed {/** * * Seed128 문자열 암호화 * * * @param plainText * @return */public byte[] encrypt(final String plainText) {byte[] byteIV = { (byte) 0x26, (byte) 0x8D, (byte) 0x66, (byte) 0xA7, (byte) 0x35, (byte) 0xA8, (byte) 0x1A, (byte) 0x81, (byte) 0x6F, (byte) 0xBA, (byte) 0xD9, (byte) 0xFA, (byte) 0x36, (byte) 0x16, (byte) 0x25, (byte) 0x0.. 더보기
Jasypt PBE 암호화/복호화 (PBEWITHSHA256AND256BITAES-CBC-BC) 암호화방식 = PBEWITHSHA256AND256BITAES-CBC-BC 암호화 StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();pbeEnc.setProvider(new BouncyCastleProvider());pbeEnc.setAlgorithm("PBEWITHSHA256AND256BITAES-CBC-BC");pbeEnc.setPassword("1234567");return pbeEnc.encrypt(message); 복호화 StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();pbeEnc.setProvider(new BouncyCastleProvider()).. 더보기
Seed128 파일 암호화/복호화 SEED 암호화 할 때 0x00 갯수를 맞춰줘야한다. FileStream으로 파일을 읽어왔을 때 바이트 사이즈에 맞춰 뒤에 0x00이 붙어 들어온다. (스트림에서 읽어올 byte 사이즈가 16배수면 OK.) 제일 마지막 읽어들인 것을 저장하고서 뒤에 0x00을 붙인 갯수를 저장한다. (1byte = 256까지표현가능) 복호화 할 때 파일사이즈를 스트림을 읽어올 byte 사이즈로 나눠 0x00 갯수를 저장한 바이트 전까지 읽어온다. 하나씩 읽어와 파일의 끝이 나올 때 까지 0x00 갯수를 센다. 마지막 읽어온 스트림에서 0x00의 갯수만큼 제외하고 write한다. SeedFile Class package seed; import java.io.File;import java.io.FileInputStream;.. 더보기
Seed 암호화/복호화 Seed 클래스에 추가 /** * XOR 메서드 */protected static void exclusiveOR(byte[] value1, byte[] value2) {for (int i = 0; i < Seed.SeedBlockSize; i++) {value1[i] = Integer.valueOf(value1[i] ^ value2[i]).byteValue();}} //키 값protected static byte[] key = new byte[Seed.NoRounds]; /** * 암호화에 사용할 키 지정 (byte[16]) */public void setKey(byte[] key) {Seed.key = key;} Seed암호화 받는 곳 http://seed.kisa.or.kr/iwt/ko/bbs/Ego.. 더보기
MSSQL 단방향 암호화 - MSSQL 2008 create table test ( id varchar(100),pwd varbinary(500) ); insert into test values ('t1',PwdEncrypt('1004')); select PwdCompare('1004', pwd) from test; - MSSQL 2012 create table test ( id varchar(100),pwd varbinary(500) ); Insert into test ( id, pwd ) Values ( 'a1', HASHBYTES('SHA2_512' , '123456') ); select * From test Where id = 'a1' AND pwd = HASHBYTES('SHA2_512' , '123456'); 더보기
MSSQL 암호화/복호화 참조.. http://blog.naver.com/blackpencil/220755363326 http://tiwaz.tistory.com/326 더보기
암호화 종류 단방향 암호화 종류 ( 해쉬함수 ) 양방향 암호화 종류 ( 블록 알고리즘 ) 더보기
SHA-512 암호화 코드 public static String encryptSHA512(String data) {String afterData = StringUtils.EMPTY;try {MessageDigest sha = MessageDigest.getInstance("SHA-512");sha.update(data.getBytes());StringBuffer sb = new StringBuffer();for (byte b : sha.digest()) {sb.append(Integer.toHexString(0xff & b));}afterData = sb.toString();} catch (Exception e) {e.printStackTrace();}return afterData;} 더보기
JMX 세션수, 세션아이디리스트 가져오기? try {JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi");JMXConnector jmxc = JMXConnectorFactory.connect(url);MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();ObjectName mbeanName = new ObjectName("Catalina:host=localhost,path=/,type=Manager"); Object value = mbsc.getAttribute(mbeanName, "activeSessions");System.out.println("activeSessions = ".. 더보기
트랜잭션(@Transactional) 무시 @Transactional 는 propagation = Propagation.REQUIRED 과 같음 @Transactional(propagation = Propagation.REQUIRED)All or nothing(부모 트랜잭션 내에서 실행, 부모 트랜잭션이 없으면 새로운 트랜잭션 생성) @Transactional(propagation = Propagation.REQUIRES_NEW)부모 트랜잭션을 무시하고 무조건 새로운 트랜잭션이 생성 참조 : http://openframework.or.kr/framework_reference/spring/ver2.x/html/transaction.html 더보기