За 5 секунд, потраченных на поиск в Google . Я очень уверен, что есть лучшее решение, чем изобретать / копировать колесо, так что вы можете переоценить его, если просто используете этот код или ищете альтернативу. Например, javax.crypto может, вероятно, сделать то, что вы стремитесь достичь, более ориентированным на будущее способом.