asdtiang的博客 感謝blogjava提供的博客交流平臺

          groovy 實踐一

          Posted on 2010-04-05 21:41 asdtiang 閱讀(349) 評論(0)  編輯  收藏
          項目需求不多說了,直接上正題吧。寫點查找時間久一點的
          groovy 加解密:

          import java.security.*
          import javax.crypto.*
          import javax.crypto.spec.*

          class DESCodec {
              
          static encode = { String target ->
                  def cipher 
          = getCipher(Cipher.ENCRYPT_MODE)
                  
          return cipher.doFinal(target.bytes).encodeBase64()
              }
              
              
          static decode = { String target ->
                  def cipher 
          = getCipher(Cipher.DECRYPT_MODE)
                  
          return new String(cipher.doFinal(target.decodeBase64()))
              }
              
              
          private static getCipher(mode) {
                  def keySpec 
          = new DESKeySpec(getPassword())
                  def cipher 
          = Cipher.getInstance("DES")
                  def keyFactory 
          = SecretKeyFactory.getInstance("DES")
                  cipher.init(mode, keyFactory.generateSecret(keySpec))
                  
          return cipher
              }
              
              
          private static getPassword() { "secret12".getBytes("UTF-8") }
              
              
          static void main(args) {
                  def strmi
          =encode("asdtiang")
          //println decode("asdtiang")
          //DESCodec.decode strmi
                      println decode("${strmi}")////這個地主一定要這樣寫,由于理論不深入,具體為什么還不明白,寫成strmi 是不正確的。
                                                 ///或者寫成strmi.toString()也行,不過還沒實踐過。
                  
              }
          }


          配置文件的讀寫:
          import org.asdtiang.util.DESCodec;
          class Config{
              
              
          static void main(args){
                  def config 
          = new ConfigSlurper("configure").parse(new File('Configure.groovy').toURL())
                  config.admin.admin
          =DESCodec.encode("asdtiang").toString()/////這個地方寫回的時候一定要有toString
                                                  ////要不然生成的是admin=加密后的字符   少了雙引號,這樣再一次讀取的時候就會報錯。
                                                   ///正常的應該是  admin="加密后的字符"
                  config.admin.password
          =DESCodec.encode("${config.admin.password}").toString()
                  config.database.ip
          =DESCodec.encode("${config.database.ip}").toString()
                  config.database.port
          =DESCodec.encode("1297").toString()
                  config.database.user
          =DESCodec.encode("sa").toString()
                  config.database.pw
          =DESCodec.encode("asdtiang").toString()
                  config.database.databaseName
          =DESCodec.encode("wx2008db").toString()
                  config.writeTo(
          new FileWriter('Configure.groovy'))///配置文件寫回
                  println config.admin.admin
                  println DESCodec.decode(
          "${config.admin.admin}")
              }
          }


          數據庫操作就不用寫了,網上一搜就有了。
          groovy中文件追加和日期格式化:()
          new File("record.txt").append(new Date().format('yyyy-MM-dd'))

          臨睡前,寫點感想吧:
              GROOVY和JAVA結合(主要是對GROOVY還是很會),簡直是太帥了,GROOVY寫起來代碼少,JAVA的強大,GROOVY學習個人感覺還是應該以官方為主,很多在國內查不出來,或者寫的不夠深入,其實文檔還是比較好的,COPY過來都能用,還有就是多查查API幫助文檔,里面有很多方法,以前用JAVA好多代碼能搞定的事,到這里來一個閉包就OK了。
              groovy沒有強制捕獲異常,不過有些地主還是要捕獲一下,比如說,數據庫連接。
              現在用著groovy感覺挺好,準備用GRAILS做一個網站呢。不過就是還不是很會,程序里有JAVA代碼,也有GROOVY代碼。



          天蒼蒼,野茫茫,風吹草底見牛羊

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 80, comments - 24, trackbacks - 0, articles - 32

          Copyright © asdtiang

          asdtiang的博客 PaidMailz
          點擊廣告網賺A(每天4個廣告,每個0.0025美元,一個搜索廣告0.03美元)
          主站蜘蛛池模板: 新建县| 兴城市| 栾川县| 白银市| 海淀区| 济南市| 沽源县| 大关县| 泗阳县| 安康市| 壶关县| 理塘县| 宁河县| 满洲里市| 东宁县| 三门峡市| 玛沁县| 武定县| 保山市| 金堂县| 珠海市| 浏阳市| 芦山县| 泉州市| 额济纳旗| 邢台县| 通城县| 长岛县| 综艺| 大邑县| 怀安县| 凤庆县| 同江市| 京山县| 武邑县| 东乡县| 绿春县| 玛纳斯县| 湖北省| 潍坊市| 益阳市|