`
zhoushuping
  • 浏览: 44135 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
Java加密和数字签名 Java加密和数字签名
import java.security.MessageDigest;
 
publicclass MessageDigestExample {
   publicstaticvoid main(String[] args) {
      String source = "Java加密和数字签名";
      String result = md5Encode(source);
      System.out.println("MD5:" + result + ", length()=" + result.length());
      result = sha1Encode(source);
      System.out.println("SHA-1:" + result + ", length()=" + result.length());
   }
 
   publicstatic String md5Encode(String source) {
      return encode(source, "MD5");
   }
 
   publicstatic String sha1Encode(String source) {
      return encode(source, "SHA-1");
   }
 
   privatestatic String encode(String source, String digestName) {
      if (source == null)
         returnnull;
      String result = null;
      try {
         byte[] plainText = source.getBytes("UTF-8");
         // 使用getInstance("算法")来获得消息摘要
         MessageDigest messageDigest = MessageDigest.getInstance(digestName);
         // 开始使用算法
         messageDigest.update(plainText);
         // 输出算法运算结果
         result = new String(messageDigest.digest(), "UTF8");
      } catch (Exception e) {
         e.printStackTrace();
      }
      return result;
   }
 
}
Scrum 的框架伪代码 "scrum,伪代码" http://www.infoq.com/cn/articles/scrum-pseudo-code
void run_scrum() {
    const int 	Sprint_Length = 10;    
    int 		velocity = get_past_performance();  		

    // Scrum 中的三个角色
    Role team, product_owner, ScrumMaster;

    // Scrum 中的制品
    Product_Backlog 	product_backlog;
    Sprint_Backlog 	sprint_backlog;
    Burndown_Chart	sprint_burndown_chart, release_burndown_chart;

    Product_Increment 	product_increment;

    //开始项目的三个准备条件
    setup_team(team);
    define_Definition_of_Done(team, product_owner);
    initial_project(&product_backlog );  //标红的为输出参数,将带回值,下同

    //每一次while 循环为一次迭代
    while (!is_empty(product_backlog)) {
        run_sprint_planning_meeting(product_backlog, velocity, &sprint_backlog);

    	//每一次for循环为一个工作日
        for(num_of_day = 1; num_of_day <=  Sprint_Length; num_of_day ++){
            run_daily_scrum_meeting(&sprint_burndown_chart);
            do_development_activity(sprint_backlog, &product_increment);
        }

        run_sprint_review_meeting(product_backlog, product_increment);
        run_retrospective_meeting();

        update_product_backlog(&product_backlog, &release_burndown_chart);
        update_velocity(&velocity);
    }  
}
Global site tag (gtag.js) - Google Analytics