/* * FileName:SHACoder.java *

* Copyright (c) 2017-2020, hermit (794890569@qq.com). *

* Licensed under the GNU General Public License, Version 3 (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.gnu.org/licenses/gpl-3.0.html *

* 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 cn.com.lzt.common.util.coder; import cn.com.lzt.common.util.security.SecurityCoder; import java.security.MessageDigest; /** * SHA加密组件 * * @author ShenHuaJie * @version 1.0 * @since 1.0 */ public abstract class SHACoder extends SecurityCoder { /** * SHA-1加密 * * @param data 待加密数据 * @return byte[] 消息摘要 * @throws Exception */ public static byte[] encodeSHA(byte[] data) throws Exception { // 初始化MessageDigest MessageDigest md = MessageDigest.getInstance("SHA"); // 执行消息摘要 return md.digest(data); } /** * SHA-1加密 * * @param data 待加密数据 * @return byte[] 消息摘要 * @throws Exception */ public static byte[] encodeSHA1(byte[] data) throws Exception { // 初始化MessageDigest MessageDigest md = MessageDigest.getInstance("SHA-1"); // 执行消息摘要 return md.digest(data); } /** * SHA-256加密 * * @param data 待加密数据 * @return byte[] 消息摘要 * @throws Exception */ public static byte[] encodeSHA256(byte[] data) throws Exception { // 初始化MessageDigest MessageDigest md = MessageDigest.getInstance("SHA-256"); // 执行消息摘要 return md.digest(data); } /** * SHA-384加密 * * @param data 待加密数据 * @return byte[] 消息摘要 * @throws Exception */ public static byte[] encodeSHA384(byte[] data) throws Exception { // 初始化MessageDigest MessageDigest md = MessageDigest.getInstance("SHA-384"); // 执行消息摘要 return md.digest(data); } /** * SHA-512加密 * * @param data 待加密数据 * @return byte[] 消息摘要 * @throws Exception */ public static byte[] encodeSHA512(byte[] data) throws Exception { // 初始化MessageDigest MessageDigest md = MessageDigest.getInstance("SHA-512"); // 执行消息摘要 return md.digest(data); } /** * SHA-224加密 * * @param data 待加密数据 * @return byte[] 消息摘要 * @throws Exception */ public static byte[] encodeSHA224(byte[] data) throws Exception { // 初始化MessageDigest MessageDigest md = MessageDigest.getInstance("SHA-224"); // 执行消息摘要 return md.digest(data); } }