成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

基于注解的java加簽驗簽框架checksum

checksum

基于 java 注解生成加簽驗簽 checksum。

十年的普蘭店網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整普蘭店建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“普蘭店網站設計”,“普蘭店網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

開源地址:github checksum

創(chuàng)作緣由

原來的代碼中,checksum 的生成是用的工具類方法。

后來發(fā)現(xiàn)如下的問題:

  1. 有些字段太大,不想參與驗簽,但是無法方便的調整。

  2. 不同系統(tǒng)的 checksum 字段不同,只好把工具方法 copy 過去,改來改去。

感覺這樣有很大的弊端,完全失去了靈活性。

特性

  • 基于注解的 checksum 加簽驗簽

  • Fluent 流式語法

  • 支持靈活的策略自定義

更新記錄

更新記錄

快速開始

環(huán)境要求

jdk7+

maven 3.x+

引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>checksum</artifactId>
    <version>0.0.1</version>
</dependency>

定義待加簽的示例對象

  • User.java
public class User {

    @CheckField
    private String name;

    @CheckField
    private String password;

    private String address;

    @Checksum
    private String checksum;

    //Getter & Setter
    //toString()
}

核心注解

@CheckField 表示參與加簽的字段信息

@Checksum 表示加簽結果存放的字段

調用測試

package com.github.houbb.checksum.core;

import com.github.houbb.checksum.model.User;
import org.junit.Assert;
import org.junit.Test;

/**
 * @author binbin.hou
 * @since 0.0.1
 */
public class ChecksumBsTest {

    @Test
    public void checksumTest() {
        User user = buildUser();
        final String checksum = ChecksumBs
                .newInstance(user)
                .checksum();

        Assert.assertEquals("8D62F2BC49A9AB51280C8F42A483ED54", checksum);
    }

    @Test
    public void fillTest() {
        User user = buildUser();
        ChecksumBs.newInstance(user).fill();

        Assert.assertEquals("User{name='ryo', password='1234', address='china', checksum='8D62F2BC49A9AB51280C8F42A483ED54'}",
                user.toString());
    }

    /**
     * 構建示例對象
     * @return 構建示例對象
     */
    private User buildUser() {
        User user = new User();
        user.name("ryo")
                .password("1234")
                .address("china");
        return user;
    }

}

ChecksumBs 引導類

用來創(chuàng)建加簽的相關配置及實現(xiàn)。

配置核心方法

方法默認值備注
newInstance() 新建 ChecksumBs 實例(static)
newInstance(object) 新建 ChecksumBs 實例,并且指定待加簽的對象(static,建議使用)
target(Object) 指定待加簽的對象
secret(ISecret) DefaultMd5Secret 指定加密的策略,默認使用 md5 加密
sort(ISort) NameAscSort 指定排序的策略,默認根據字段的名稱正序排列表
cache(ICache) DefaultFieldListCache 指定字段的緩存策略,默認使用本地 map 進行字段信息緩存

調用核心方法

方法返回值備注
checksum() String 返回加簽的結果
fill() 將上面 checksum 的結果設置到 @Checksum 標識的字段中

自定義

上述 ISecret/ISort/ICache 都是支持自定義的。

一般只需要重新定義 ISecret 即可。

分享題目:基于注解的java加簽驗簽框架checksum
當前地址:http://jinyejixie.com/article8/jpoeop.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網站收錄、網站設計公司、網站改版營銷型網站建設、網站內鏈

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網站建設
平原县| 容城县| 乐陵市| 临泽县| 尚义县| 时尚| 长治县| 尚志市| 北京市| 本溪| 当阳市| 龙岩市| 且末县| 东方市| 仙居县| 绥江县| 宁武县| 惠来县| 家居| 青神县| 深水埗区| 波密县| 清水县| 柏乡县| 深州市| 徐汇区| 裕民县| 龙门县| 上思县| 张家界市| 读书| 娱乐| 斗六市| 香格里拉县| 长葛市| 冕宁县| 田东县| 舞阳县| 淳安县| 榆树市| 个旧市|