/*
* Copyright 2010 The Ganshane Team.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package corner.encrypt;
import org.apache.tapestry5.ioc.MappedConfiguration;
import org.apache.tapestry5.ioc.ServiceBinder;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.annotations.Marker;
import org.apache.tapestry5.ioc.annotations.Symbol;
import corner.encrypt.annotations.Des;
import corner.encrypt.services.EncryptService;
import corner.encrypt.services.impl.CipherKey;
import corner.encrypt.services.impl.DESedeEncryptServiceImpl;
import corner.encrypt.services.impl.MD5EncryptServiceImpl;
/**
* 用于加密的模块
* @author <a href="mailto:jun.tsai@gmail.com">Jun Tsai</a>
* @version $Revision$
* @since 0.1
*/
public class EncryptModule {
public static void bind(ServiceBinder binder){
binder.bind(EncryptService.class,MD5EncryptServiceImpl.class);
}
@Marker(Des.class)
public EncryptService buildDESedeEncryptService(
@Inject @Symbol(EncryptSymbols.CIPHER_FILE) String cipherKeyPath) {
return new DESedeEncryptServiceImpl(new CipherKey(cipherKeyPath, 24));
}
public static void contributeFactoryDefaults(
MappedConfiguration<String, String> configuration) {
//配置key文件的路径
configuration.add(EncryptSymbols.CIPHER_FILE, "cipher");
}
}