엄청 많은 암호화된 단어를 저장한 수 백개의 단어를 한번에 java 코드에서 복호화하고 싶다. 


awk로 특정 데이터를 뽑아냈다.


MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY

...

ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg

MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc



이럴 때는 아래와 같은 sed 커맨드를 사용한다. replace(s)를 사용해 앞과 뒤에 쌍따옴표(")를 붙이고 중간에 기존 단어를 사용하게 한다. 



$ sed 's/^/\"/; s/$/\"/' file

"MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY"

...

"ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg"

"MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc"



배열로 복호화하기 때문에 , 를 맨 앞에 넣는다.


$ sed 's/^/,\"/; s/$/\"/' bb


, "MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY"

...

,"ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg"

,"MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc"



맨 앞의 , 만 빼면 되니 배열로 쉽게 코딩할 수 있다. 



String[] encrypteds = new String[] { "MDBlOTVkMTZhMzNiNjRjZjI2MTg2ZGFiOTBiMjdmMWY"

.. ,"ZTM1ZDAyYTA2NjhhMzVlZjhmZmJhZTA0M2JlZmQ2NDg"
,"MWRjODkzM2Q5MWI1NzdiNjRkOTVmOWU4OTNjYjgyMDc"

Arrays.stream(encrypteds) .map(enc -> decryptAES(enc)) .forEach(System.out::println);

};


Posted by 김용환 '김용환'